from http.server import SimpleHTTPRequestHandler, HTTPServer
import os

BASE_DIR = "/home/iman"

class Handler(SimpleHTTPRequestHandler):
    def translate_path(self, path):
        path = path.split('?', 1)[0]
        path = path.split('#', 1)[0]
        rel = path.lstrip("/")
        return os.path.join(BASE_DIR, rel or "")

    def do_PUT(self):
        file_path = self.translate_path(self.path)
        length = int(self.headers.get("Content-Length", "0"))
        data = self.rfile.read(length)

        with open(file_path, "wb") as f:
            f.write(data)

        self.send_response(200)
        self.end_headers()
        self.wfile.write(b"OK")

if __name__ == "__main__":
    os.chdir(BASE_DIR)
    server = HTTPServer(("0.0.0.0", 8080), Handler)
    server.serve_forever()
