|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfeign.RequestTemplate
public final class RequestTemplate
Builds a request to an http target. Not thread safe.
javax.ws.rs.client.WebTarget
and
javax.ws.rs.client.Invocation.Builder
, ensuring you can modify any
part of the request. However, this object is mutable, so needs to be guarded
with the copy constructor.
Nested Class Summary | |
---|---|
static interface |
RequestTemplate.Body
A templatized form for a PUT or POST command. |
Constructor Summary | |
---|---|
RequestTemplate()
|
|
RequestTemplate(RequestTemplate toCopy)
|
Method Summary | |
---|---|
RequestTemplate |
append(java.lang.CharSequence value)
|
com.google.common.base.Optional<java.lang.String> |
body()
|
RequestTemplate |
body(java.lang.String body)
replaces the HttpHeaders.CONTENT_LENGTH header. |
com.google.common.base.Optional<java.lang.String> |
bodyTemplate()
|
RequestTemplate |
bodyTemplate(java.lang.String bodyTemplate)
populated by RequestTemplate.Body |
boolean |
equals(java.lang.Object obj)
|
static java.lang.String |
expand(java.lang.String template,
java.util.Map<java.lang.String,?> variables)
Expands a template , such as username , using the variables supplied. |
int |
hashCode()
|
RequestTemplate |
header(java.lang.String configKey,
java.lang.Iterable<java.lang.String> values)
|
RequestTemplate |
header(java.lang.String configKey,
java.lang.String... values)
Replaces headers with the specified configKey with the
values supplied. |
com.google.common.collect.ListMultimap<java.lang.String,java.lang.String> |
headers()
Returns an immutable copy of the current headers. |
RequestTemplate |
headers(com.google.common.collect.Multimap<java.lang.String,java.lang.String> headers)
Replaces all existing headers with the newly supplied headers. |
RequestTemplate |
insert(int pos,
java.lang.CharSequence value)
|
java.lang.String |
method()
|
RequestTemplate |
method(java.lang.String method)
|
com.google.common.collect.ListMultimap<java.lang.String,java.lang.String> |
queries()
Returns an immutable copy of the url decoded queries. |
RequestTemplate |
queries(com.google.common.collect.Multimap<java.lang.String,java.lang.String> queries)
Replaces all existing queries with the newly supplied url decoded queries. |
RequestTemplate |
query(java.lang.String configKey,
java.lang.Iterable<java.lang.String> values)
|
RequestTemplate |
query(java.lang.String configKey,
java.lang.String... values)
Replaces queries with the specified configKey with url decoded
values supplied. |
java.lang.String |
queryLine()
|
Request |
request()
|
RequestTemplate |
resolve(java.util.Map<java.lang.String,?> unencoded)
Targets a template to this target, adding the base url and
any authentication headers. |
java.lang.String |
toString()
|
java.lang.String |
url()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public RequestTemplate()
public RequestTemplate(RequestTemplate toCopy)
Method Detail |
---|
public RequestTemplate resolve(java.util.Map<java.lang.String,?> unencoded)
base url
and
any authentication headers.
For example:
public Request apply(RequestTemplate input) { input.insert(0, url()); input.replaceHeader("X-Auth", currentToken); return input.asRequest(); }
javax.ws.rs.client.WebTarget.resolveTemplates(templateValues, true)
, except that the template values apply to any part of the request, not
just the URL
public Request request()
public static java.lang.String expand(java.lang.String template, java.util.Map<java.lang.String,?> variables)
template
, such as username
, using the variables
supplied. Any unresolved
parameters will remain.
Note that if you'd like curly braces literally in the template
,
urlencode them first.
template
- URI template that can be in level 1 RFC6570 form.variables
- to the URI template
public RequestTemplate method(java.lang.String method)
public java.lang.String method()
public RequestTemplate append(java.lang.CharSequence value)
public RequestTemplate insert(int pos, java.lang.CharSequence value)
public java.lang.String url()
public RequestTemplate query(java.lang.String configKey, java.lang.String... values)
configKey
with url decoded
values
supplied.
When the value
is null
, all queries with the configKey
are removed.
WebTarget.query
, except the values can be templatized.
ex.
template.query("Signature", "{signature}");
configKey
- the configKey of the queryvalues
- can be a single null to imply removing all values. Else no
values are expected to be null.queries()
public RequestTemplate query(java.lang.String configKey, java.lang.Iterable<java.lang.String> values)
public RequestTemplate queries(com.google.common.collect.Multimap<java.lang.String,java.lang.String> queries)
WebTarget.queries
, except the values can be templatized.
ex.
template.queries(ImmutableMultimap.of("Signature", "{signature}"));
queries
- if null, remove all queries. else value to replace all queries
with.queries()
public com.google.common.collect.ListMultimap<java.lang.String,java.lang.String> queries()
Request.url()
public RequestTemplate header(java.lang.String configKey, java.lang.String... values)
configKey
with the
values
supplied.
When the value
is null
, all headers with the configKey
are removed.
WebTarget.queries
and javax.ws.rs.client.Invocation.Builder.header
,
except the values can be templatized.
ex.
template.query("X-Application-Version", "{version}");
configKey
- the configKey of the headervalues
- can be a single null to imply removing all values. Else no
values are expected to be null.headers()
public RequestTemplate header(java.lang.String configKey, java.lang.Iterable<java.lang.String> values)
public RequestTemplate headers(com.google.common.collect.Multimap<java.lang.String,java.lang.String> headers)
Invocation.Builder.headers(MultivaluedMap)
, except the
values can be templatized.
ex.
template.headers(ImmutableMultimap.of("X-Application-Version", "{version}"));
headers
- if null, remove all headers. else value to replace all headers
with.headers()
public com.google.common.collect.ListMultimap<java.lang.String,java.lang.String> headers()
Request.headers()
public RequestTemplate body(java.lang.String body)
HttpHeaders.CONTENT_LENGTH
header.
Usually populated by BodyEncoder
or FormEncoder
Request.body()
public com.google.common.base.Optional<java.lang.String> body()
public RequestTemplate bodyTemplate(java.lang.String bodyTemplate)
RequestTemplate.Body
Request.body()
public com.google.common.base.Optional<java.lang.String> bodyTemplate()
Request.body()
,
expand(String, Map)
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String queryLine()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |