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,
String currentPageRef,
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) |
protected void |
captureUserAgent(io.netty.handler.codec.http.HttpRequest httpRequest) |
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(String hostAndPort) |
InetSocketAddress |
proxyToServerResolutionStarted(String resolvingServerHostAndPort) |
void |
proxyToServerResolutionSucceeded(String serverHostAndPort,
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, isHttps
public HarCaptureFilter(io.netty.handler.codec.http.HttpRequest originalRequest, io.netty.channel.ChannelHandlerContext ctx, Har har, String currentPageRef, 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)public io.netty.handler.codec.http.HttpResponse clientToProxyRequest(io.netty.handler.codec.http.HttpObject httpObject)
clientToProxyRequest
in interface org.littleshoot.proxy.HttpFilters
clientToProxyRequest
in class org.littleshoot.proxy.HttpFiltersAdapter
public io.netty.handler.codec.http.HttpObject serverToProxyResponse(io.netty.handler.codec.http.HttpObject httpObject)
serverToProxyResponse
in interface org.littleshoot.proxy.HttpFilters
serverToProxyResponse
in class org.littleshoot.proxy.HttpFiltersAdapter
public void serverToProxyResponseTimedOut()
serverToProxyResponseTimedOut
in interface org.littleshoot.proxy.HttpFilters
serverToProxyResponseTimedOut
in class org.littleshoot.proxy.HttpFiltersAdapter
protected void captureQueryParameters(io.netty.handler.codec.http.HttpRequest httpRequest)
protected void captureUserAgent(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 InetSocketAddress proxyToServerResolutionStarted(String resolvingServerHostAndPort)
proxyToServerResolutionStarted
in interface org.littleshoot.proxy.HttpFilters
proxyToServerResolutionStarted
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerResolutionFailed(String hostAndPort)
proxyToServerResolutionFailed
in interface org.littleshoot.proxy.HttpFilters
proxyToServerResolutionFailed
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerResolutionSucceeded(String serverHostAndPort, InetSocketAddress resolvedRemoteAddress)
proxyToServerResolutionSucceeded
in interface org.littleshoot.proxy.HttpFilters
proxyToServerResolutionSucceeded
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerConnectionQueued()
proxyToServerConnectionQueued
in interface org.littleshoot.proxy.HttpFilters
proxyToServerConnectionQueued
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerConnectionStarted()
proxyToServerConnectionStarted
in interface org.littleshoot.proxy.HttpFilters
proxyToServerConnectionStarted
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerConnectionFailed()
proxyToServerConnectionFailed
in interface org.littleshoot.proxy.HttpFilters
proxyToServerConnectionFailed
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerConnectionSucceeded(io.netty.channel.ChannelHandlerContext serverCtx)
proxyToServerConnectionSucceeded
in interface org.littleshoot.proxy.HttpFilters
proxyToServerConnectionSucceeded
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerRequestSending()
proxyToServerRequestSending
in interface org.littleshoot.proxy.HttpFilters
proxyToServerRequestSending
in class org.littleshoot.proxy.HttpFiltersAdapter
public void proxyToServerRequestSent()
proxyToServerRequestSent
in interface org.littleshoot.proxy.HttpFilters
proxyToServerRequestSent
in class org.littleshoot.proxy.HttpFiltersAdapter
public void serverToProxyResponseReceiving()
serverToProxyResponseReceiving
in interface org.littleshoot.proxy.HttpFilters
serverToProxyResponseReceiving
in class org.littleshoot.proxy.HttpFiltersAdapter
public void serverToProxyResponseReceived()
serverToProxyResponseReceived
in interface org.littleshoot.proxy.HttpFilters
serverToProxyResponseReceived
in class org.littleshoot.proxy.HttpFiltersAdapter
Copyright © 2016. All Rights Reserved.