app.py 775 B

12345678910111213141516171819202122232425262728293031
  1. from flask import Flask, request, jsonify
  2. import requests
  3. from urllib.parse import urlencode
  4. app = Flask(__name__)
  5. @app.route("/osmand", methods=["GET"])
  6. def forward_get_as_post():
  7. # Convert GET parameters to JSON
  8. data = dict(request.args)
  9. api_key_q = {}
  10. if "key" in data:
  11. api_key_q = {"token": data["key"]}
  12. del data["key"]
  13. # Forward as POST request with JSON body
  14. target_url = f"http://reitti:8080/api/v1/ingest/owntracks?{urlencode(api_key_q)}"
  15. response = requests.post(target_url, json=data)
  16. return jsonify(
  17. {
  18. "status": "forwarded",
  19. "data_sent": data,
  20. "target_status": response.status_code,
  21. }
  22. )
  23. if __name__ == "__main__":
  24. app.run(host="0.0.0.0", port=9000)