import json
import os
from http.server import BaseHTTPRequestHandler, HTTPServer
from datetime import datetime

from ci.CIPayloadProcessor import CIPayloadProcessor


class RequestHandler(BaseHTTPRequestHandler):
    saru_jobs = []

    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        current_time = datetime.now().isoformat()

        j = post_data.decode("utf-8")
        CIPayloadProcessor().process(j)

        self.send_response(200)
        self.end_headers()


def run(server_class=HTTPServer, handler_class=RequestHandler, port=8001):
    server_address = ('', port)
    httpd = server_class(server_address, handler_class)
    print(f'Starting httpd on port {port}...')
    httpd.serve_forever()


if __name__ == '__main__':
    run()
