Top Description Methods
org.eclipse.microprofile.rest.client.ext

public Interface ClientHeadersFactory

Known Direct Implementers
org.eclipse.microprofile.rest.client.ext.DefaultClientHeadersFactoryImpl
Imports
jakarta.ws.rs.core.MultivaluedMap

This interface is intended for generating or propagating HTTP headers. It is invoked by the MP Rest Client implementation before invoking any entity providers on the outbound processing chain. It contains a single method, update which takes parameters of headers passed in from the incoming Jakarta RESTful Web Services request (if applicable, if not, this will be an empty map) and a read-only map of headers specified by ClientHeaderParam or HeaderParam annotations on the client interface.

This method should return a MultivaluedMap of headers to be merged with the outgoing headers. If it's desired for clientOutgoingHeaders to be present in addition to any propagated headers, update needs to combine the two sets to return. This will determine the final set of HTTP headers that will be sent to the outbound entity provider processing chain - thus any filters, MessageBodyWriters, interceptors, etc. could further refine the set of headers actually sent on the client request.

If the ClientHeadersFactory instance is invoked while in the context of a Jakarta RESTful Web Services request, the implementation may optionally support injection of fields and methods annotated with @Context.

If the ClientHeadersFactory instance is managed by CDI (i.e. it is annotated with @ApplicationScoped, etc.), the implementation must use the appropriate CDI-managed instance, and must support @Inject injection.

Since
1.2

Method Summary

Modifier and TypeMethod and Description
public MultivaluedMap<String, String>

Returns:

a map of HTTP headers to merge with the clientOutgoingHeaders to be sent to the remote service.
update
(MultivaluedMap<String, String>
- the map of headers from the inbound Jakarta RESTful Web Services request. This will be an empty map if the associated client interface is not part of a Jakarta RESTful Web Services request.
incomingHeaders
,
MultivaluedMap<String, String>
- the read-only map of header parameters specified on the client interface.
clientOutgoingHeaders
)

Updates the HTTP headers to send to the remote service.

Method Detail

updateback to summary
public MultivaluedMap<String, String> update(MultivaluedMap<String, String> incomingHeaders, MultivaluedMap<String, String> clientOutgoingHeaders)

Updates the HTTP headers to send to the remote service. Note that providers on the outbound processing chain could further update the headers.

Parameters
incomingHeaders:MultivaluedMap<String, String>

- the map of headers from the inbound Jakarta RESTful Web Services request. This will be an empty map if the associated client interface is not part of a Jakarta RESTful Web Services request.

clientOutgoingHeaders:MultivaluedMap<String, String>

- the read-only map of header parameters specified on the client interface.

Returns:MultivaluedMap<String, String>

a map of HTTP headers to merge with the clientOutgoingHeaders to be sent to the remote service.