Uses of Interface
org.microproxy.http.HttpRequest
Packages that use HttpRequest
Package
Description
OpenTelemetry for MicroProxy, with no dependencies but the JDK: W3C Trace Context, B3 and Jaeger
propagation (
Propagators), sampling (Sampler), a SERVER span per exchange and a CLIENT span per attempt to reach
the server, INTERNAL spans for tunnels and flows, and OTLP/HTTP export of traces, metrics (the
proxy's StatsRegistry) and access logs, as protobuf or JSON (Telemetry).-
Uses of HttpRequest in org.microproxy
Fields in org.microproxy declared as HttpRequestModifier and TypeFieldDescriptionprotected final HttpRequestHttpFiltersAdapter.originalRequestThe request head received from the client.Methods in org.microproxy that return HttpRequestModifier and TypeMethodDescriptionFlowRecord.request()The request as the client sent it, before the proxy and filters rewrote it; for a tunnel or a flow, theCONNECT(real, or made up for a SOCKS client, a transparent connection or a QUIC flow) that opened it.Methods in org.microproxy with parameters of type HttpRequestModifier and TypeMethodDescriptiondefault AuthResultProxyAuthenticator.authenticate(HttpRequest request, FlowContext flow) Decides whetherrequestmay proceed, and as which user.MitmManager.clientSslContextFor(HttpRequest connectRequest, SSLSession serverSslSession) TLS configuration presented to the client (proxy is TLS server), typically holding a certificate for the requested host signed by a CA the client trusts.default SSLContextMitmManager.clientSslContextFor(HttpRequest connectRequest, SSLSession serverSslSession, FlowContext flow) TLS configuration presented to the client connectionflow, e.g. with a certificate from that client's CA.HttpFiltersBuilder.Built.filterRequest(HttpRequest originalRequest, FlowContext flowContext) These filters, for any request.HttpFiltersChain.filterRequest(HttpRequest originalRequest, FlowContext flowContext) HttpFiltersSource.filterRequest(HttpRequest originalRequest, FlowContext flowContext) Returns the filters for a request, ornullto proxy it unfiltered.HttpFiltersSourceAdapter.filterRequest(HttpRequest originalRequest, FlowContext flowContext) voidChainedProxyManager.lookupChainedProxies(HttpRequest httpRequest, Queue<ChainedProxy> chainedProxies, ClientDetails clientDetails) Adds the proxies to try, in order, tochainedProxies.voidUpstreamProxyManager.lookupChainedProxies(HttpRequest request, Queue<ChainedProxy> chainedProxies, ClientDetails clientDetails) FlowRecord.Builder.request(HttpRequest request) Sets the client's request.default intHttpFilters.requestBufferSizeInBytes(HttpRequest request) Asks for this request to be buffered, beforeHttpFilters.clientToProxyRequest(org.microproxy.http.HttpObject)sees it: return a positive size to receive the head and body as oneFullHttpRequest, or 0 to stream.intHttpFiltersBuilder.Built.requestBufferSizeInBytes(HttpRequest request) intHttpFiltersChain.Chained.requestBufferSizeInBytes(HttpRequest request) default voidActivityTracker.requestReceivedFromClient(FlowContext flowContext, HttpRequest httpRequest) Called when a request head arrives from the client.default voidActivityTracker.requestSentToServer(FullFlowContext flowContext, HttpRequest httpRequest) Called when a request head is sent to the server.FailureResponder.respond(HttpRequest request, ProxyFailure failure) Returns the response forfailure, ornullfor the proxy's default.FlowTracer.startExchange(FlowContext flow, HttpRequest request) Called when a request head arrives from the client, before trackers, authentication and filters see it, so that headers the tracer adds (anX-Request-Id) are seen by all of them and the access log.Method parameters in org.microproxy with type arguments of type HttpRequestModifier and TypeMethodDescriptionHttpFiltersBuilder.beforeSending(Function<HttpRequest, HttpResponse> hook) The request head just before it goes to the server (proxyToServerRequest), with the proxy's own header changes applied.HttpFiltersBuilder.onRequest(Function<HttpRequest, HttpResponse> hook) The request head as the client sent it (clientToProxyRequest); a wholeFullHttpRequestwhen buffered (HttpFiltersBuilder.bufferRequests(int)).Constructors in org.microproxy with parameters of type HttpRequestModifierConstructorDescriptionHttpFiltersAdapter(HttpRequest originalRequest) Creates filters retaining the original request without a client context.HttpFiltersAdapter(HttpRequest originalRequest, FlowContext flowContext) Creates filters retaining the original request and client context. -
Uses of HttpRequest in org.microproxy.cache
Methods in org.microproxy.cache with parameters of type HttpRequestModifier and TypeMethodDescriptionHttpCache.filterRequest(HttpRequest originalRequest, FlowContext flowContext) -
Uses of HttpRequest in org.microproxy.contentviews
Methods in org.microproxy.contentviews with parameters of type HttpRequestModifier and TypeMethodDescriptionstatic ContentView.MetadataContentView.Metadata.forRequest(HttpRequest request) Metadata for a request's body.static ContentView.MetadataContentView.Metadata.forResponse(HttpRequest request, HttpMessage response) Metadata for a response's body. -
Uses of HttpRequest in org.microproxy.extras
Methods in org.microproxy.extras that return HttpRequestMethods in org.microproxy.extras that return types with arguments of type HttpRequestModifier and TypeMethodDescriptionstatic BiFunction<HttpRequest, FlowContext, String> ConcurrencyLimiter.byClientIp()Keys requests by the client's IP address (the default).static BiFunction<HttpRequest, FlowContext, String> ConcurrencyLimiter.byTargetHost()Keys requests by the host they go to, lower-cased and without the port: theCONNECTtarget, the absolute URI's host, or theHostheader (inside intercepted sessions).static BiFunction<HttpRequest, FlowContext, String> ConcurrencyLimiter.byUser()Keys requests by the authenticated user (flow.getClientDetails().getUserName()), or by the client's IP address for clients that did not authenticate.Methods in org.microproxy.extras with parameters of type HttpRequestModifier and TypeMethodDescriptionAntiCache.filterRequest(HttpRequest originalRequest, FlowContext flowContext) BlockList.filterRequest(HttpRequest originalRequest, FlowContext flowContext) ConcurrencyLimiter.filterRequest(HttpRequest originalRequest, FlowContext flowContext) HarRecorder.filterRequest(HttpRequest originalRequest, FlowContext flowContext) HttpLogger.filterRequest(HttpRequest originalRequest, FlowContext flowContext) Filters that log this exchange, ornullwhen it is not logged: theHttpLogger.Builder.onlypredicate declined it, or the defaultSystem.Loggeris off at INFO.MapLocal.filterRequest(HttpRequest originalRequest, FlowContext flowContext) MapRemote.filterRequest(HttpRequest originalRequest, FlowContext flowContext) ModifyBody.filterRequest(HttpRequest originalRequest, FlowContext flowContext) ModifyHeaders.filterRequest(HttpRequest originalRequest, FlowContext flowContext) RewriteRules.filterRequest(HttpRequest originalRequest, FlowContext flowContext) ServerReplay.filterRequest(HttpRequest originalRequest, FlowContext flowContext) StickyCookie.filterRequest(HttpRequest originalRequest, FlowContext flowContext) static FlowFilter.FlowFlowFilter.flow(HttpRequest request, String url, HttpResponse response) A view of an exchange for filters.voidConcurrencyLimiter.RejectListener.rejected(String key, HttpRequest request, FlowContext flow) Called when a request exceeds its concurrency limit.ConcurrencyLimiter.Responder.respond(String key, HttpRequest request, FlowContext flow) Creates the HTTP response for a refused request.Method parameters in org.microproxy.extras with type arguments of type HttpRequestModifier and TypeMethodDescriptionConcurrencyLimiter.Builder.key(BiFunction<HttpRequest, FlowContext, String> key) What requests are counted by: the client's IP address by default (ConcurrencyLimiter.byClientIp()), orConcurrencyLimiter.byUser(),ConcurrencyLimiter.byTargetHost()or any function of the request head and client connection.HttpLogger.Builder.only(BiPredicate<HttpRequest, FlowContext> predicate) Logs only the exchanges whose request (as the client sent it) matches. -
Uses of HttpRequest in org.microproxy.http
Subinterfaces of HttpRequest in org.microproxy.httpClasses in org.microproxy.http that implement HttpRequestModifier and TypeClassDescriptionclassA complete request with its body.classMutableHttpRequesthead.Methods in org.microproxy.http that return HttpRequestModifier and TypeMethodDescriptionDefaultHttpRequest.setMethod(HttpMethod method) HttpRequest.setMethod(HttpMethod method) Changes the request method.DefaultHttpRequest.setProtocolVersion(HttpVersion version) HttpRequest.setProtocolVersion(HttpVersion version) Changes the request-target.Methods in org.microproxy.http with parameters of type HttpRequestModifier and TypeMethodDescriptionstatic booleanHttpUtil.is100ContinueExpected(HttpRequest request) Whether the request carriesExpect: 100-continue.static voidHttpBodies.restrictAcceptEncoding(HttpRequest request) Removes content codings this class cannot decode (e.g. -
Uses of HttpRequest in org.microproxy.otel
Methods in org.microproxy.otel with parameters of type HttpRequest -
Uses of HttpRequest in org.microproxy.starlark
Methods in org.microproxy.starlark with parameters of type HttpRequestModifier and TypeMethodDescriptionScriptedProxy.authenticate(HttpRequest request, FlowContext flow) Calls the script'sauthenticate(req, ctx).ScriptedProxy.filterRequest(HttpRequest originalRequest, FlowContext flowContext) voidScriptedProxy.lookupChainedProxies(HttpRequest request, Queue<ChainedProxy> chainedProxies, ClientDetails client) -
Uses of HttpRequest in org.microproxy.tls
Methods in org.microproxy.tls with parameters of type HttpRequestModifier and TypeMethodDescriptionCertificateAuthorityMitmManager.clientSslContextFor(HttpRequest connectRequest, SSLSession serverSslSession) -
Uses of HttpRequest in org.microproxy.warc
Methods in org.microproxy.warc with parameters of type HttpRequestModifier and TypeMethodDescriptionWarcRecorder.filterRequest(HttpRequest originalRequest, FlowContext flowContext)