From 468b439dd4fd43d2ef8481f883d7f453ac09c9e5 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Sun, 10 Apr 2022 19:08:36 +0200 Subject: [PATCH] add datadog proxy --- backend/server.py | 21 +++++++++++++++++++-- frontend/src/App.vue | 5 +++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/backend/server.py b/backend/server.py index b3e4daa..7ebe1b8 100644 --- a/backend/server.py +++ b/backend/server.py @@ -13,7 +13,6 @@ import requests from discord_webhook import DiscordWebhook from metrics import Metrics - Metrics.init() import sys @@ -612,6 +611,24 @@ def pool_metrics(): Metrics.send_metric('online_players', points=[online_players]) pool_metrics() +import urllib.parse +class CustomProxyFix(object): + def __init__(self, app): + self.app = app + print('init') + + def __call__(self, environ, start_response): + path = environ.get('PATH_INFO', '') + if 'ddproxy' in path: + newurl = urllib.parse.unquote(environ['QUERY_STRING'].replace('ddforward=', '')) + heads = {'X-Forwarded-For': environ['REMOTE_ADDR']} + for h in environ['headers_raw']: + heads[h[0]] = h[1] + r = requests.post(newurl, data=environ['wsgi.input'].read(), headers=heads) + start_response('200 OK', []) + return [''] + return self.app(environ, start_response) + if __name__ == '__main__': sio.start_background_task(pool_metrics) - eventlet.wsgi.server(eventlet.listen(('', 5001)), app) + eventlet.wsgi.server(eventlet.listen(('', 5001)), CustomProxyFix(app)) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index dda5d6d..14e7005 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -48,7 +48,7 @@