public class ClientRequest extends OutboundMessageContext implements ClientRequestContext, HttpHeaders, org.glassfish.jersey.internal.inject.InjectionManagerSupplier, PropertiesResolver
OutboundMessageContext.StreamProvider
ACCEPT, ACCEPT_CHARSET, ACCEPT_ENCODING, ACCEPT_LANGUAGE, ALLOW, AUTHORIZATION, CACHE_CONTROL, CONTENT_DISPOSITION, CONTENT_ENCODING, CONTENT_ID, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_LOCATION, CONTENT_TYPE, COOKIE, DATE, ETAG, EXPIRES, HOST, IF_MATCH, IF_MODIFIED_SINCE, IF_NONE_MATCH, IF_UNMODIFIED_SINCE, LAST_EVENT_ID_HEADER, LAST_MODIFIED, LINK, LOCATION, RETRY_AFTER, SET_COOKIE, USER_AGENT, VARY, WWW_AUTHENTICATE
Modifier | Constructor and Description |
---|---|
|
ClientRequest(ClientRequest original)
Copy constructor.
|
protected |
ClientRequest(URI requestUri,
ClientConfig clientConfig,
PropertiesDelegate propertiesDelegate)
Create new Jersey client request context.
|
Modifier and Type | Method and Description |
---|---|
void |
abortWith(Response response)
Abort the filter chain with a response.
|
void |
accept(MediaType... types)
Add new accepted types to the message headers.
|
void |
accept(String... types)
Add new accepted types to the message headers.
|
void |
acceptLanguage(Locale... locales)
Add new accepted languages to the message headers.
|
void |
acceptLanguage(String... locales)
Add new accepted languages to the message headers.
|
void |
cacheControl(CacheControl cacheControl)
Add new cache control entry to the message headers.
|
void |
cookie(Cookie cookie)
Add new cookie to the message headers.
|
void |
enableBuffering()
Enable a buffering of serialized entity.
|
void |
encoding(String encoding)
Set message encoding.
|
Response |
getAbortResponse()
Get the request filter chain aborting response if set, or
null otherwise. |
JerseyClient |
getClient()
Get the client instance associated with the request.
|
Configuration |
getConfiguration()
The related client/server side
Configuration . |
Map<String,Cookie> |
getCookies()
Get any cookies that accompanied the request.
|
org.glassfish.jersey.internal.inject.InjectionManager |
getInjectionManager()
Get injection manager.
|
String |
getMethod()
Get the request method.
|
Object |
getProperty(String name)
Returns the property with the given name registered in the current request/response exchange context, or
null
if there is no property by that name. |
Collection<String> |
getPropertyNames()
Returns an immutable
collection containing the property names available within the context of the
current request/response exchange context. |
Iterable<ReaderInterceptor> |
getReaderInterceptors()
Get reader interceptors of this request.
|
List<String> |
getRequestHeader(String name)
Get the values of a HTTP request header.
|
MultivaluedMap<String,String> |
getRequestHeaders()
Get the values of HTTP request headers.
|
URI |
getUri()
Get the request URI.
|
MessageBodyWorkers |
getWorkers()
Get the message body workers associated with the request.
|
Iterable<WriterInterceptor> |
getWriterInterceptors()
Get writer interceptors of this request.
|
boolean |
ignoreUserAgent()
Indicates whether the User-Agent header should be omitted if not directly set to the map of headers.
|
void |
ignoreUserAgent(boolean ignore)
Indicates whether the User-Agent header should be omitted if not directly set to the map of headers.
|
boolean |
isAsynchronous()
Returns true if the request is called asynchronously using
AsyncInvoker |
void |
language(Locale language)
Set message language.
|
void |
language(String language)
Set message language.
|
void |
removeProperty(String name)
Removes a property with the given name from the current request/response exchange context.
|
<T> T |
resolveProperty(String name,
Class<T> type)
Resolve a property value for the specified property
name . |
<T> T |
resolveProperty(String name,
T defaultValue)
Resolve a property value for the specified property
name . |
void |
setMethod(String method)
Set the request method.
|
void |
setProperty(String name,
Object object)
Binds an object to a given property name in the current request/response exchange context.
|
void |
setUri(URI uri)
Set a new request URI.
|
void |
setWorkers(MessageBodyWorkers workers)
Set the message body workers associated with the request.
|
void |
type(MediaType type)
Set message content type.
|
void |
type(String type)
Set message content type.
|
void |
variant(Variant variant)
Set message content variant (type, language and encoding).
|
void |
writeEntity()
Write (serialize) the entity set in this request into the
entity stream . |
close, commitStream, enableBuffering, getAcceptableLanguages, getAcceptableMediaTypes, getAllowedMethods, getDate, getEntity, getEntityAnnotations, getEntityClass, getEntityStream, getEntityTag, getEntityType, getHeaders, getHeaderString, getLanguage, getLastModified, getLength, getLengthLong, getLink, getLinkBuilder, getLinks, getLocation, getMediaType, getRequestCookies, getResponseCookies, getStringHeaders, hasEntity, hasLink, isCommitted, replaceHeaders, setEntity, setEntity, setEntity, setEntity, setEntityAnnotations, setEntityStream, setEntityType, setMediaType, setStreamProvider
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAcceptableLanguages, getAcceptableMediaTypes, getDate, getEntity, getEntityAnnotations, getEntityClass, getEntityStream, getEntityType, getHeaders, getHeaderString, getLanguage, getMediaType, getStringHeaders, hasEntity, setEntity, setEntity, setEntityStream
getAcceptableLanguages, getAcceptableMediaTypes, getDate, getHeaderString, getLanguage, getLength, getMediaType
create
protected ClientRequest(URI requestUri, ClientConfig clientConfig, PropertiesDelegate propertiesDelegate)
requestUri
- request Uri.clientConfig
- request configuration.propertiesDelegate
- properties delegate.public ClientRequest(ClientRequest original)
original
- original instance.public <T> T resolveProperty(String name, Class<T> type)
PropertiesResolver
name
.
The method returns the value of the property registered in the request-specific
property bag, if available. If no property for the given property name is found
in the request-specific property bag, the method looks at the properties stored
in the global runtime configuration
this request
belongs to. If there is a value defined in the runtime configuration,
it is returned, otherwise the method returns null
if no such property is
registered neither in the runtime nor in the request-specific property bag.
resolveProperty
in interface PropertiesResolver
T
- property Java type.name
- property name.type
- expected property class type.null
if no such property is registered.public <T> T resolveProperty(String name, T defaultValue)
PropertiesResolver
name
.
The method returns the value of the property registered in the request-specific
property bag, if available. If no property for the given property name is found
in the request-specific property bag, the method looks at the properties stored
in the global runtime configuration
this request
belongs to. If there is a value defined in the runtime configuration,
it is returned, otherwise the method returns defaultValue
if no such property is
registered neither in the runtime nor in the request-specific property bag.
resolveProperty
in interface PropertiesResolver
T
- property Java type.name
- property name.defaultValue
- default value to return if the property is not registered.defaultValue
if no such property is registered.public Object getProperty(String name)
ClientRequestContext
null
if there is no property by that name.
A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.
A list of supported properties can be retrieved using ClientRequestContext.getPropertyNames()
. Custom property names should
follow the same convention as package names.
getProperty
in interface ClientRequestContext
name
- a String
specifying the name of the property.Object
containing the value of the property, or null
if no property exists matching the
given name.ClientRequestContext.getPropertyNames()
public Collection<String> getPropertyNames()
ClientRequestContext
collection
containing the property names available within the context of the
current request/response exchange context.
Use the ClientRequestContext.getProperty(java.lang.String)
method with a property name to get the value of a property.
getPropertyNames
in interface ClientRequestContext
collection
of property names.ClientRequestContext.getProperty(java.lang.String)
public void setProperty(String name, Object object)
ClientRequestContext
A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.
A list of supported properties can be retrieved using ClientRequestContext.getPropertyNames()
. Custom property names should
follow the same convention as package names.
If a null
value is passed, the effect is the same as calling the ClientRequestContext.removeProperty(String)
method.
setProperty
in interface ClientRequestContext
name
- a String
specifying the name of the property.object
- an Object
representing the property to be bound.public void removeProperty(String name)
ClientRequestContext
ClientRequestContext.getProperty(java.lang.String)
to retrieve the property value will return null
.removeProperty
in interface ClientRequestContext
name
- a String
specifying the name of the property to be removed.public URI getUri()
ClientRequestContext
getUri
in interface ClientRequestContext
public void setUri(URI uri)
ClientRequestContext
setUri
in interface ClientRequestContext
uri
- new request URI.public String getMethod()
ClientRequestContext
getMethod
in interface ClientRequestContext
HttpMethod
public void setMethod(String method)
ClientRequestContext
setMethod
in interface ClientRequestContext
method
- new request method.HttpMethod
public JerseyClient getClient()
ClientRequestContext
getClient
in interface ClientRequestContext
public void abortWith(Response response)
ClientRequestContext
abortWith
in interface ClientRequestContext
response
- response to be sent back to the client.public Response getAbortResponse()
null
otherwise.null
otherwise.public Configuration getConfiguration()
OutboundMessageContext
Configuration
. Can be null
.getConfiguration
in interface ClientRequestContext
getConfiguration
in class OutboundMessageContext
Configuration
the configurationpublic List<String> getRequestHeader(String name)
HttpHeaders
getRequestHeaders().get(name)
.getRequestHeader
in interface HttpHeaders
name
- the header name, case insensitive.public MultivaluedMap<String,String> getRequestHeaders()
HttpHeaders
null
.getRequestHeaders
in interface HttpHeaders
public Map<String,Cookie> getCookies()
ClientRequestContext
getCookies
in interface ClientRequestContext
getCookies
in interface HttpHeaders
Cookie
.public MessageBodyWorkers getWorkers()
public void setWorkers(MessageBodyWorkers workers)
workers
- message body workers.public void accept(MediaType... types)
types
- accepted types to be added.public void accept(String... types)
types
- accepted types to be added.public void acceptLanguage(Locale... locales)
locales
- accepted languages to be added.public void acceptLanguage(String... locales)
locales
- accepted languages to be added.public void cookie(Cookie cookie)
cookie
- cookie to be added.public void cacheControl(CacheControl cacheControl)
cacheControl
- cache control entry to be added.public void encoding(String encoding)
encoding
- message encoding to be set.public void language(String language)
language
- message language to be set.public void language(Locale language)
language
- message language to be set.public void type(MediaType type)
type
- message content type to be set.public void type(String type)
type
- message content type to be set.public void variant(Variant variant)
variant
- message content content variant (type, language and encoding)
to be set.public boolean isAsynchronous()
AsyncInvoker
public void enableBuffering()
CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER
.
The buffering functionality is by default disabled and could be enabled by calling this method. In this case
this method must be called before first bytes are written to the entity stream
.public void writeEntity() throws IOException
entity stream
. The method
use writer interceptors
and message body writer
.
This method modifies the state of this request and therefore it can be called only once per request life cycle otherwise
IllegalStateException is thrown.
Note that OutboundMessageContext.setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider)
and optionally enableBuffering()
must be called before calling this method.IOException
- In the case of IO error.public Iterable<WriterInterceptor> getWriterInterceptors()
public Iterable<ReaderInterceptor> getReaderInterceptors()
public org.glassfish.jersey.internal.inject.InjectionManager getInjectionManager()
org.glassfish.jersey.internal.inject.InjectionManagerSupplier
getInjectionManager
in interface org.glassfish.jersey.internal.inject.InjectionManagerSupplier
public boolean ignoreUserAgent()
true
if the header should be omitted, false
otherwise.public void ignoreUserAgent(boolean ignore)
ignore
- true
if the header should be omitted, false
otherwise.Copyright © 2007-2021, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.