from http.server import HTTPServer, SimpleHTTPRequestHandler
import os
import json

BIND_HOST = '192.168.40.106'
PORT = 8000

class HTTPRequestHandler(SimpleHTTPRequestHandler):
    def do_GET(self): 
        super().do_GET()

    def do_POST(self):
        content_length = int(self.headers.get('content-length', 0))
        body = self.rfile.read(content_length)
        data = json.loads(body.decode('utf-8'))

        self.send_response(200)
        self.end_headers()

        with open('put.txt', 'w') as f: 
            f.write(data['id'])
            f.write("\n")
            f.write(data['name'])
            f.write("\n")
            f.write(str(data['feature_vector']))

        print("\n")
        print("username                   : " + data['name'])
        print("feature_vector (first 100) : " + str(data['feature_vector'][0][:100]) + "...")
        print("\n\n\n")


    def write_response(self, content):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(content)
        print(self.headers)


print(f'Listening on http://{BIND_HOST}:{PORT}\n')
print("======================= Cloud Server  =======================\n")

httpd = HTTPServer((BIND_HOST, PORT), HTTPRequestHandler)
httpd.serve_forever()
