sclass HandleProxyRequest { HostAndPort hap; bool rewriteHost; // unused? bool rewritePort; NanoHTTPD.IHTTPSession session; IVF1 customizeRequest; new StandaloneHttpProxy proxy; run ctex { S headers = windowsLineBreaks(lines(concatLists( ll(session.getMethod() + " " + session.getFullURI() + " " + session.getProtocolVersion()), withoutStartingWithIC("Host:", session.getHeaderLines()) ))); S domain = dropPortFromHost(mapGet(session.getHeaders(), "host")); proxy.rewriteHostHeader = rewritePort; proxy.forwardServerAndPort = req -> hap; proxy.takeOverIncomingSocket(domain, session.getSocket(), session.getInputStream(), session.getOutputStream(), toUtf8(printQuoted("HEADERS: ", headers)), customizeRequest); } }