import http.server

import socketserver

from urllib.parse import urlparse

from urllib.parse import parse_qs

from ukmodulus import validate_number

import json



class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler):

    def do_GET(self):

        # Sending an '200 OK' response

        self.send_response(200)


        # Setting the header

        self.send_header("Content-type", "text/html")


        # Whenever using 'send_header', you also have to call 'end_headers'

        self.end_headers()


        # Extract query param

        account = 'null'

        query_components = parse_qs(urlparse(self.path).query)

        if 'account' in query_components:

            account = query_components["account"][0]

            sort = query_components["sort"][0]

            test = validate_number(sort, account)


        # Some custom HTML code, possibly generated by another function

        

        result = {}

        result['0'] = {'result': test}

        y = json.dumps(result)

        html = f"{y}"


        # Writing the HTML contents with UTF-8

        self.wfile.write(bytes(html, "utf8"))


        return


# Create an object of the above class

handler_object = MyHttpRequestHandler


PORT = 8000

my_server = socketserver.TCPServer(("", PORT), handler_object)


# Star the server

my_server.serve_forever()

