From 5c63c628592a88396fb34340232074ca0a8808f3 Mon Sep 17 00:00:00 2001 From: Para Dox Date: Sun, 27 Apr 2025 22:30:57 +0700 Subject: [PATCH] simple look --- logging-proxy.yml | 7 +++++++ logging-proxy/Dockerfile | 11 +++++++++++ logging-proxy/proxy.py | 23 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 logging-proxy.yml create mode 100644 logging-proxy/Dockerfile create mode 100644 logging-proxy/proxy.py diff --git a/logging-proxy.yml b/logging-proxy.yml new file mode 100644 index 00000000..d8d5dd54 --- /dev/null +++ b/logging-proxy.yml @@ -0,0 +1,7 @@ +services: + logging-proxy: + build: . + ports: + - "8545:8545" + environment: + TARGET_URL: "${LOGGING_PROXY_TARGET_URL}" \ No newline at end of file diff --git a/logging-proxy/Dockerfile b/logging-proxy/Dockerfile new file mode 100644 index 00000000..1e652797 --- /dev/null +++ b/logging-proxy/Dockerfile @@ -0,0 +1,11 @@ +FROM python:3.12-slim + +WORKDIR /app + +RUN pip install flask requests + +COPY proxy.py . + +EXPOSE 8545 + +CMD ["python", "proxy.py"] diff --git a/logging-proxy/proxy.py b/logging-proxy/proxy.py new file mode 100644 index 00000000..1e50ffd9 --- /dev/null +++ b/logging-proxy/proxy.py @@ -0,0 +1,23 @@ +from flask import Flask, request, jsonify +import requests +import sys +import os + +app = Flask(__name__) + +# Target JSON-RPC server, e.g., an Ethereum node +TARGET_URL = os.getenv('TARGET_URL', 'http://host.docker.internal:8545') + +@app.route('/', methods=['POST']) +def proxy(): + incoming = request.get_json() + print(f"==> Request:\n{incoming}", file=sys.stdout, flush=True) + + response = requests.post(TARGET_URL, json=incoming) + outgoing = response.json() + + print(f"<== Response:\n{outgoing}", file=sys.stdout, flush=True) + return jsonify(outgoing) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=8545)