import sys
import os
import io

# Đảm bảo import được file server.py cùng thư mục
current_dir = os.path.dirname(os.path.abspath(__file__))
if current_dir not in sys.path:
    sys.path.insert(0, current_dir)

import server

def application(environ, start_response):
    class WSGIHandler(server.H):
        def __init__(self, req_env):
            self.environ = req_env
            self.path = req_env.get("PATH_INFO", "")
            qs = req_env.get("QUERY_STRING", "")
            if qs:
                self.path += "?" + qs
            self.command = req_env.get("REQUEST_METHOD", "GET")
            self.wfile = io.BytesIO()
            self.headers = {}
            self._headers_list = []
            self._status = "200 OK"

        def send_response(self, code, message=None):
            self._status = f"{code} OK" if code == 200 else f"{code} Error"

        def send_header(self, keyword, value):
            self._headers_list.append((keyword, str(value)))

        def end_headers(self):
            pass

    handler = WSGIHandler(environ)
    if environ.get("REQUEST_METHOD") == "GET":
        handler.do_GET()
    else:
        handler.send(405, {"error": "Method not allowed"})

    start_response(handler._status, handler._headers_list)
    return [handler.wfile.getvalue()]