import logging import os from flask import Flask from flask import request def run_server(handlers:dict): app = Flask("Battlesnake") @app.get("/") def on_info(): return handlers["info"]() @app.post("/start") def on_start(): game_state = request.get_json() handlers["start"](game_state) return "ok" @app.post("/move") def on_move(): game_state = request.get_json() return handlers["move"](game_state) @app.post("/end") def on_end(): game_state = request.get_json() handlers["end"](game_state) return "ok" @app.after_request def identify_server(response): response.headers.set( "server", "battlesnake/github/starter-snake-python" ) return response host = "0.0.0.0" port = int(os.environ.get("PORT", "8000")) debug = bool(os.environ.get("debug", False)) logging.getLogger("werkzeug").setLevel(logging.ERROR) print(f"\nRunning Battlesnake at http://{host}:{port}") app.run(host=host, port=port, debug=debug)