import os
from http.server import SimpleHTTPRequestHandler, HTTPServer

os.chdir("/var/www/hd")

class H(SimpleHTTPRequestHandler):
    def log_message(self, *a):
        pass

    def do_PUT(self):
        try:
            l = int(self.headers.get("Content-Length", 0))
            name = os.path.basename(self.path) or "noname"
            with open("/var/www/hd/up_" + name, "wb") as f:
                while l > 0:
                    c = self.rfile.read(min(l, 65536))
                    if not c:
                        break
                    l -= len(c)
                    f.write(c)
            self.send_response(200)
            self.end_headers()
            self.wfile.write(b"OK")
        except Exception as e:
            self.send_response(500)
            self.end_headers()
            self.wfile.write(str(e).encode())

HTTPServer(("0.0.0.0", 8199), H).serve_forever()
