#!/usr/bin/env python3
import http.server
import socketserver
import json

PORT = 3333
assigned_roles = []

class RoleHandler(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        global assigned_roles

        if len(assigned_roles) == 0:
            role = "SENDER"
            assigned_roles.append(role)
        elif len(assigned_roles) == 1:
            role = "RECEIVER"
            assigned_roles.append(role)
        else:
            role = "RECEIVER"

        response = json.dumps({"role": role})

        self.send_response(200)
        self.send_header('Content-Type', 'application/json')
        self.send_header('Access-Control-Allow-Origin', '*')
        self.end_headers()
        self.wfile.write(response.encode())

    def do_POST(self):
        global assigned_roles

        if self.path == '/reset':
            assigned_roles = []
            response = json.dumps({"status": "reset", "message": "Roles cleared"})
            self.send_response(200)
        else:
            response = json.dumps({"error": "Unknown endpoint"})
            self.send_response(404)

        self.send_header('Content-Type', 'application/json')
        self.send_header('Access-Control-Allow-Origin', '*')
        self.end_headers()
        self.wfile.write(response.encode())

    def log_message(self, format, *args):
        pass

def start_server():
    with socketserver.TCPServer(("", PORT), RoleHandler) as httpd:
        try:
            httpd.serve_forever()
        except KeyboardInterrupt:
            pass

if __name__ == "__main__":
    start_server()