from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
import http.client
class Proxy(BaseHTTPRequestHandler):
 def do_GET(self):
  if not self.path.startswith('/forgejo/'):
   self.send_error(404); return
  c=http.client.HTTPConnection('127.0.0.1',39301)
  c.request('GET',self.path[len('/forgejo'):],headers={k:v for k,v in self.headers.items() if k.lower()!='host'})
  r=c.getresponse(); b=r.read(); self.send_response(r.status)
  for k,v in r.getheaders():
   if k.lower() not in ('transfer-encoding','connection','content-length'): self.send_header(k,v)
  self.send_header('Content-Length',str(len(b))); self.end_headers(); self.wfile.write(b)
ThreadingHTTPServer(('127.0.0.1',39300),Proxy).serve_forever()
