public class HarCaptureFilter extends HttpsAwareFiltersAdapter
HOST_ATTRIBUTE_NAME, IS_HTTPS_ATTRIBUTE_NAME, ORIGINAL_HOST_ATTRIBUTE_NAME| Constructor and Description |
|---|
HarCaptureFilter(io.netty.handler.codec.http.HttpRequest originalRequest,
io.netty.channel.ChannelHandlerContext ctx,
Har har,
java.lang.String currentPageRef,
java.util.Set<CaptureType> dataToCapture)
Create a new instance of the HarCaptureFilter that will capture request and response information.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
captureConnectTiming()
Populates ssl and connect timing info in the HAR if an entry for this client and server exist in the cache.
|
protected void |
captureHeaders(io.netty.handler.codec.http.HttpHeaders headers) |
protected void |
captureQueryParameters(io.netty.handler.codec.http.HttpRequest httpRequest) |
protected void |
captureRedirectUrl(io.netty.handler.codec.http.HttpResponse httpResponse) |
protected void |
captureRequestContent(io.netty.handler.codec.http.HttpRequest httpRequest,
byte[] fullMessage) |
protected void |
captureRequestCookies(io.netty.handler.codec.http.HttpRequest httpRequest) |
protected void |
captureRequestHeaders(io.netty.handler.codec.http.HttpRequest httpRequest) |
protected void |
captureRequestHeaderSize(io.netty.handler.codec.http.HttpRequest httpRequest) |
protected void |
captureRequestSize(io.netty.handler.codec.http.HttpContent httpContent)
Adds the size of this httpContent to the requestBodySize.
|
protected void |
captureResponse(io.netty.handler.codec.http.HttpResponse httpResponse) |
protected void |
captureResponseContent(io.netty.handler.codec.http.HttpResponse httpResponse,
byte[] fullMessage) |
protected void |
captureResponseCookies(io.netty.handler.codec.http.HttpResponse httpResponse) |
protected void |
captureResponseHeaders(io.netty.handler.codec.http.HttpResponse httpResponse) |
protected void |
captureResponseHeaderSize(io.netty.handler.codec.http.HttpResponse httpResponse) |
protected void |
captureResponseMimeType(io.netty.handler.codec.http.HttpResponse httpResponse) |
protected void |
captureResponseSize(io.netty.handler.codec.http.HttpContent httpContent)
Adds the size of this httpContent to the responseBodySize.
|
protected void |
captureTrailingHeaders(io.netty.handler.codec.http.LastHttpContent lastHttpContent) |
io.netty.handler.codec.http.HttpResponse |
clientToProxyRequest(io.netty.handler.codec.http.HttpObject httpObject) |
protected void |
populateAddressFromCache(io.netty.handler.codec.http.HttpRequest httpRequest)
Populates the serverIpAddress field of the harEntry using the internal hostname->IP address cache.
|
void |
proxyToServerConnectionFailed() |
void |
proxyToServerConnectionQueued() |
void |
proxyToServerConnectionStarted() |
void |
proxyToServerConnectionSucceeded(io.netty.channel.ChannelHandlerContext serverCtx) |
void |
proxyToServerRequestSending() |
void |
proxyToServerRequestSent() |
void |
proxyToServerResolutionFailed(java.lang.String hostAndPort) |
java.net.InetSocketAddress |
proxyToServerResolutionStarted(java.lang.String resolvingServerHostAndPort) |
void |
proxyToServerResolutionSucceeded(java.lang.String serverHostAndPort,
java.net.InetSocketAddress resolvedRemoteAddress) |
io.netty.handler.codec.http.HttpObject |
serverToProxyResponse(io.netty.handler.codec.http.HttpObject httpObject) |
void |
serverToProxyResponseReceived() |
void |
serverToProxyResponseReceiving() |
void |
serverToProxyResponseTimedOut() |
getFullUrl, getHost, getHostAndPort, getOriginalUrl, isHttpspublic HarCaptureFilter(io.netty.handler.codec.http.HttpRequest originalRequest,
io.netty.channel.ChannelHandlerContext ctx,
Har har,
java.lang.String currentPageRef,
java.util.Set<CaptureType> dataToCapture)
dataToCapture, the HarCaptureFilter will always capture:
originalRequest - the original HttpRequest from the HttpFiltersSource factoryhar - a reference to the ProxyServer's current HAR file at the time this request is received (can be null if HAR capture is not required)currentPageRef - the ProxyServer's currentPageRef at the time this request is received from the clientdataToCapture - the data types to capture for this request. null or empty set indicates only basic information will be
captured (see CaptureType for information on data collected for each CaptureType)ctx - ChannelHandlerContext ctxpublic io.netty.handler.codec.http.HttpResponse clientToProxyRequest(io.netty.handler.codec.http.HttpObject httpObject)
clientToProxyRequest in interface org.littleshoot.proxy.HttpFiltersclientToProxyRequest in class org.littleshoot.proxy.HttpFiltersAdapterpublic io.netty.handler.codec.http.HttpObject serverToProxyResponse(io.netty.handler.codec.http.HttpObject httpObject)
serverToProxyResponse in interface org.littleshoot.proxy.HttpFiltersserverToProxyResponse in class org.littleshoot.proxy.HttpFiltersAdapterpublic void serverToProxyResponseTimedOut()
serverToProxyResponseTimedOut in interface org.littleshoot.proxy.HttpFiltersserverToProxyResponseTimedOut in class org.littleshoot.proxy.HttpFiltersAdapterprotected void captureQueryParameters(io.netty.handler.codec.http.HttpRequest httpRequest)
protected void captureRequestHeaderSize(io.netty.handler.codec.http.HttpRequest httpRequest)
protected void captureRequestCookies(io.netty.handler.codec.http.HttpRequest httpRequest)
protected void captureRequestHeaders(io.netty.handler.codec.http.HttpRequest httpRequest)
protected void captureTrailingHeaders(io.netty.handler.codec.http.LastHttpContent lastHttpContent)
protected void captureHeaders(io.netty.handler.codec.http.HttpHeaders headers)
protected void captureRequestContent(io.netty.handler.codec.http.HttpRequest httpRequest,
byte[] fullMessage)
protected void captureResponseContent(io.netty.handler.codec.http.HttpResponse httpResponse,
byte[] fullMessage)
protected void captureResponse(io.netty.handler.codec.http.HttpResponse httpResponse)
protected void captureResponseMimeType(io.netty.handler.codec.http.HttpResponse httpResponse)
protected void captureResponseCookies(io.netty.handler.codec.http.HttpResponse httpResponse)
protected void captureResponseHeaderSize(io.netty.handler.codec.http.HttpResponse httpResponse)
protected void captureResponseHeaders(io.netty.handler.codec.http.HttpResponse httpResponse)
protected void captureRedirectUrl(io.netty.handler.codec.http.HttpResponse httpResponse)
protected void captureRequestSize(io.netty.handler.codec.http.HttpContent httpContent)
httpContent - HttpContent to sizeprotected void captureResponseSize(io.netty.handler.codec.http.HttpContent httpContent)
httpContent - HttpContent to sizeprotected void captureConnectTiming()
protected void populateAddressFromCache(io.netty.handler.codec.http.HttpRequest httpRequest)
httpRequest - HTTP request to take the hostname frompublic java.net.InetSocketAddress proxyToServerResolutionStarted(java.lang.String resolvingServerHostAndPort)
proxyToServerResolutionStarted in interface org.littleshoot.proxy.HttpFiltersproxyToServerResolutionStarted in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerResolutionFailed(java.lang.String hostAndPort)
proxyToServerResolutionFailed in interface org.littleshoot.proxy.HttpFiltersproxyToServerResolutionFailed in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerResolutionSucceeded(java.lang.String serverHostAndPort,
java.net.InetSocketAddress resolvedRemoteAddress)
proxyToServerResolutionSucceeded in interface org.littleshoot.proxy.HttpFiltersproxyToServerResolutionSucceeded in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerConnectionQueued()
proxyToServerConnectionQueued in interface org.littleshoot.proxy.HttpFiltersproxyToServerConnectionQueued in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerConnectionStarted()
proxyToServerConnectionStarted in interface org.littleshoot.proxy.HttpFiltersproxyToServerConnectionStarted in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerConnectionFailed()
proxyToServerConnectionFailed in interface org.littleshoot.proxy.HttpFiltersproxyToServerConnectionFailed in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerConnectionSucceeded(io.netty.channel.ChannelHandlerContext serverCtx)
proxyToServerConnectionSucceeded in interface org.littleshoot.proxy.HttpFiltersproxyToServerConnectionSucceeded in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerRequestSending()
proxyToServerRequestSending in interface org.littleshoot.proxy.HttpFiltersproxyToServerRequestSending in class org.littleshoot.proxy.HttpFiltersAdapterpublic void proxyToServerRequestSent()
proxyToServerRequestSent in interface org.littleshoot.proxy.HttpFiltersproxyToServerRequestSent in class org.littleshoot.proxy.HttpFiltersAdapterpublic void serverToProxyResponseReceiving()
serverToProxyResponseReceiving in interface org.littleshoot.proxy.HttpFiltersserverToProxyResponseReceiving in class org.littleshoot.proxy.HttpFiltersAdapterpublic void serverToProxyResponseReceived()
serverToProxyResponseReceived in interface org.littleshoot.proxy.HttpFiltersserverToProxyResponseReceived in class org.littleshoot.proxy.HttpFiltersAdapter