diff --git a/docker/crash_server.dockerfile b/docker/crash_server.dockerfile new file mode 100644 index 000000000..ef92df88a --- /dev/null +++ b/docker/crash_server.dockerfile @@ -0,0 +1,9 @@ +FROM python:3.5 + +COPY src/crash_analysis/server /server + +RUN pip install -r /server/requirements.txt + +WORKDIR /server + +CMD python app.py diff --git a/src/crash_analysis/server/.gitignore b/src/crash_analysis/server/.gitignore new file mode 100644 index 000000000..af8b9686e --- /dev/null +++ b/src/crash_analysis/server/.gitignore @@ -0,0 +1 @@ +ve/ diff --git a/src/crash_analysis/server/app.py b/src/crash_analysis/server/app.py new file mode 100644 index 000000000..92bd23c9e --- /dev/null +++ b/src/crash_analysis/server/app.py @@ -0,0 +1,19 @@ +import json +from flask import Flask, request + +app = Flask(__name__) + +@app.route("/crash", methods=["POST"]) +def crash(): + ''' + Appends json body to a log file and print it to the stdout. + ''' + body_dump = json.dumps(request.json) + with open("crash.log", "a") as f: + f.write(body_dump) + f.write('\n') + print(body_dump) + return '', 204 + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=8080) diff --git a/src/crash_analysis/server/requirements.txt b/src/crash_analysis/server/requirements.txt new file mode 100644 index 000000000..4d3e216bf --- /dev/null +++ b/src/crash_analysis/server/requirements.txt @@ -0,0 +1,6 @@ +click==6.6 +Flask==0.11.1 +itsdangerous==0.24 +Jinja2==2.8 +MarkupSafe==0.23 +Werkzeug==0.11.10