LittleProxy to handle both HTTP and HTTPS

339 views
Skip to first unread message

rojanu

unread,
Oct 6, 2016, 11:23:30 PM10/6/16
to LittleProxy

I am currently using LittleProxy to add some headers to a request and forward it to a server using HTTP.

I have been trying to do the same for HTTPS calls but failing.

How can I achieve the same for both HTTP and HTTPS?


Here is what I have now

httpProxyServer = DefaultHttpProxyServer.bootstrap()
.withPort(proxyConfig.getProxyPort())
.withManInTheMiddle(new SelfSignedMitmManager())
.withFiltersSource(new HttpFiltersSourceAdapter() {
String forwardBaseUrl = proxyConfig.getForwardBaseUrl();
@Override
public int getMaximumRequestBufferSizeInBytes() {
return proxyConfig.getBufferSizeInByes();
}

public HttpFilters filterRequest(HttpRequest originalRequest, ChannelHandlerContext ctx) {
return new HttpFiltersAdapter(originalRequest) {
@Override
public HttpResponse clientToProxyRequest(HttpObject httpObject) {
if (httpObject instanceof HttpRequest) {
HttpRequest request = (HttpRequest) httpObject;
if (null != request.headers().get(HEADER_FORWARD_BASE_URL)) {
logger.info("Using header forward-base-url: " + forwardBaseUrl);
forwardBaseUrl = request.headers().get("forward-base-url");
}
final String uri = forwardBaseUrl + request.getUri();
logger.info("Setting request uri : " + uri);
request.setUri(uri);
}
return null;
}

@Override
public HttpResponse proxyToServerRequest(HttpObject httpObject) {
if (httpObject instanceof FullHttpRequest) {
signRequest((FullHttpRequest) httpObject);
}
return null;
}
};
}

})
.start();



Reply all
Reply to author
Forward
0 new messages