Interface SelectiveFilters
- All Superinterfaces:
HttpFilters
- All Known Implementing Classes:
HttpFiltersBuilder.Built
Without this interface the proxy decides from the class: one that overrides
clientToProxyRequest or proxyToServerRequest gets request bodies piece by piece, one that
overrides serverToProxyResponse or proxyToClientResponse gets response bodies,
one that overrides a WebSocket frame hook gets parsed frames, and one that overrides a WebSocket
message hook gets joined messages. A class that overrides those
hooks only to read heads would turn off the fast path for bodies it never looks at. Implementing
this interface replaces the guess with an answer per instance: the proxy relays every stream
sees(org.microproxy.HttpFiltersBuilder.Body) declines as raw bytes, and the hooks then receive only heads.
HttpFiltersBuilder.Built and HttpLogger's filters
implement it.
-
Method Summary
Modifier and TypeMethodDescriptionbooleansees(HttpFiltersBuilder.Body stream) Whether these filters inspectstreampiece by piece:HttpFiltersBuilder.Body.REQUEST: request body pieces reachclientToProxyRequestandproxyToServerRequest;HttpFiltersBuilder.Body.RESPONSE: response body pieces reachserverToProxyResponseandproxyToClientResponse;HttpFiltersBuilder.Body.WEBSOCKET_FRAMES: frames go throughHttpFilters.filterWebSocketFrame(org.microproxy.http.WebSocketFrame, boolean), with permessage-deflate payloads inflated;HttpFiltersBuilder.Body.WEBSOCKET_MESSAGES: frames are joined into messages forHttpFilters.filterWebSocketMessages(org.microproxy.http.WebSocketMessage, boolean), with permessage-deflate payloads inflated;HttpFiltersBuilder.Body.OBSERVED_WEBSOCKET_FRAMES: frames are shown toHttpFilters.webSocketFrameReceived(org.microproxy.http.WebSocketFrame, boolean)and forwarded unchanged.Methods inherited from interface org.microproxy.HttpFilters
chainedProxyRetryBackoff, clientToProxyRequest, exchangeEnded, filterWebSocketFrame, filterWebSocketMessage, filterWebSocketMessages, proxyToClientResponse, proxyToClientResponseSent, proxyToServerAllowMitm, proxyToServerAllowMitm, proxyToServerAllowOfflineMitm, proxyToServerConnectionFailed, proxyToServerConnectionSSLHandshakeStarted, proxyToServerConnectionStarted, proxyToServerConnectionSucceeded, proxyToServerConnectTimeout, proxyToServerFailure, proxyToServerMitmHandshake, proxyToServerRequest, proxyToServerRequestSending, proxyToServerRequestSent, proxyToServerResolutionFailed, proxyToServerResolutionStarted, proxyToServerResolutionSucceeded, proxyToServerTlsHandshakeTimeout, proxyToServerTlsIdentity, requestBufferSizeInBytes, responseBufferSizeInBytes, serverToProxyResponse, serverToProxyResponseReceived, serverToProxyResponseReceiving, serverToProxyResponseTimedOut, webSocketFrameReceived, webSocketFrameReceived
-
Method Details
-
sees
Whether these filters inspectstreampiece by piece:HttpFiltersBuilder.Body.REQUEST: request body pieces reachclientToProxyRequestandproxyToServerRequest;HttpFiltersBuilder.Body.RESPONSE: response body pieces reachserverToProxyResponseandproxyToClientResponse;HttpFiltersBuilder.Body.WEBSOCKET_FRAMES: frames go throughHttpFilters.filterWebSocketFrame(org.microproxy.http.WebSocketFrame, boolean), with permessage-deflate payloads inflated;HttpFiltersBuilder.Body.WEBSOCKET_MESSAGES: frames are joined into messages forHttpFilters.filterWebSocketMessages(org.microproxy.http.WebSocketMessage, boolean), with permessage-deflate payloads inflated;HttpFiltersBuilder.Body.OBSERVED_WEBSOCKET_FRAMES: frames are shown toHttpFilters.webSocketFrameReceived(org.microproxy.http.WebSocketFrame, boolean)and forwarded unchanged.
- Parameters:
stream- the request or response body stream- Returns:
- whether this body stream is inspected piece by piece
-