diff options
| author | Jean-Pierre Appel <jeanpierre.appel01@gmail.com> | 2023-10-23 01:34:33 -0400 |
|---|---|---|
| committer | Jean-Pierre Appel <jeanpierre.appel01@gmail.com> | 2023-10-23 01:34:33 -0400 |
| commit | 424be4138123e7d8e2e9fef36c71e1638d4e6b2a (patch) | |
| tree | bc7339af6966ff78fd3ee7fbfe05c4e7974bb256 /server/server.py | |
| parent | 7815a927374db87393d104d095b5de8dfd3a3488 (diff) | |
testing wsgi post
Diffstat (limited to 'server/server.py')
| -rw-r--r-- | server/server.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/server/server.py b/server/server.py new file mode 100644 index 0000000..9f04e4e --- /dev/null +++ b/server/server.py @@ -0,0 +1,42 @@ +import json +import toggle_game + + +def recieve_game(game_json: str) -> dict: + game = json.loads(game_json) + if game['size'] < 0 or game['size'] > 100: + raise Exception("Invalid Board size") + if game['finished']: + raise Exception("The game is finished") + if game['human_turn']: + raise Exception("Not the computer's turn") + if game['version'] != "0.0.0": + raise Exception("Invalid version") + return game + + +def send_game(game: dict) -> str: + # TODO: mutate game + game_json = json.dumps(game) + return game_json + + +def application(env, start_response): + headers = [('Content-Type', 'application/json')] + start_response('200 OK', headers) + + if env['REQUEST_METHOD'] == 'POST': + game = {'test': 0} + try: + game = json.load(env['wsgi.input']) + except json.JSONDecodeError: + return [json.dumps({'failure': True}).encode('utf-8')] + game_json = json.dumps(game) + return [game_json.encode('utf-8')] + + return [json.dumps({'not_post': True}).encode('utf-8')] + + + +def main(): + pass |
