import http.server, os, sys
class H(http.server.SimpleHTTPRequestHandler):
    def do_PUT(self):
        fn = os.path.join("/var/www/hd/up", os.path.basename(self.path))
        ln = int(self.headers.get("Content-Length", 0))
        with open(fn, "wb") as f:
            while ln > 0:
                chunk = self.rfile.read(min(ln, 65536)); ln -= len(chunk); f.write(chunk)
        self.send_response(201); self.end_headers(); sys.stderr.write("GOT %s %d\n" % (fn, ln))
    def do_GET(self):
        self.send_response(200); self.end_headers(); self.wfile.write(b"ok")
    def log_message(self, *a): pass
http.server.HTTPServer(("0.0.0.0", 8811), H).serve_forever()
