Class HttpContextKeys
ContextMap.Key(s) defined for HTTP.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ContextMap.Key<HttpExecutionStrategy>Allows using a customHttpExecutionStrategyfor the HTTP message execution, when present in the meta-datacontext.static final ContextMap.Key<Boolean>If set to true, forces creating a new connection versus potentially selecting an already established one.static final ContextMap.Key<String>The key used by server-side routers to assign an http.route attribute for incoming requests.static final ContextMap.Key<Object>Deprecated.static final ContextMap.Key<Long>The key used to retrieve a virtual stream identifier from the correspondingrequest context. -
Method Summary
-
Field Details
-
HTTP_EXECUTION_STRATEGY_KEY
Allows using a customHttpExecutionStrategyfor the HTTP message execution, when present in the meta-datacontext. Otherwise, an automatically inferred strategy will be used by a client or server. -
HTTP_TARGET_ADDRESS_BEHIND_PROXY
Deprecated.UseTransportObserverConnectionFactoryFilterto configureTransportObserverand then listenConnectionObserver.onProxyConnect(Object)callback to distinguish between a regular connection and a connection to the secure HTTP proxy tunnel. For clear text HTTP proxies, consider installing a custom client filter that will populateHttpMetaData.context()with a similar key or reach out to the ServiceTalk developers to discuss ideas.When opening a connection to a proxy, this key tells what is the actual (unresolved) target address behind the proxy this connection will be established to.To distinguish between a secure HTTP proxy tunneling and a clear text HTTP proxy, check presence of
ConnectionInfo.sslConfig(). -
HTTP_FORCE_NEW_CONNECTION
If set to true, forces creating a new connection versus potentially selecting an already established one.This key is only available when reserving a connection and will be ignored when performing a regular request on the client (for example through
HttpRequester.request(HttpRequest)). -
HTTP_ROUTE
The key used by server-side routers to assign an http.route attribute for incoming requests.Router implementation are responsible for assigning this key to either
HttpMetaData.context()(preferred) orAsyncContextifHttpRequestMetaDatais not available in the scope of the router. This key can be used later by observability extensions to assign an attribute for emitted metrics or traces. -
STREAM_ID
The key used to retrieve a virtual stream identifier from the correspondingrequest context.Multiplexed protocols, like HTTP/2, use streams to precess every request. The Stream ID is lazy and typically assigned after the request headers are written to the transport. Therefore, it can not be known in advance on the client-side, but often useful to retrieve later for correlation with other events.
- See Also:
-
TransportObserverConnectionFactoryFilterto configureTransportObserverand then listenConnectionObserver.onProxyConnect(Object)callback to distinguish between a regular connection and a connection to the secure HTTP proxy tunnel.