public class RestRequestBuilder extends Object
HttpRequests.
Handles ignoring null queryParams and Headers by default.
Provides the ability of setting a format for query parameter arrays.
Handles request streaming mode (Content-Length and Transfer-Encoding headers).| Modifier and Type | Class and Description |
|---|---|
static class |
RestRequestBuilder.QueryParamFormat
COMMA: key=value1,value2,value3
MULTIMAP: key=value1&key=value2&key=value3
|
| Constructor and Description |
|---|
RestRequestBuilder(String baseUri,
String path,
org.mule.runtime.http.api.HttpConstants.Method method,
RequestParameters requestParameters)
Creates a preconfigured
RestRequestBuilder per the given parameters. |
| Modifier and Type | Method and Description |
|---|---|
RestRequestBuilder |
addHeader(String key,
String value)
Adds a header to the request builder.
|
RestRequestBuilder |
addHeaders(String key,
List<String> values)
Adds multiple headers (with the same name) to the request builder.
|
RestRequestBuilder |
addQueryParam(String key,
String value)
Adds a query parameter to the request builder.
|
RestRequestBuilder |
addQueryParams(String key,
List<String> values)
Adds multiple query parameters (with the same name) to the request builder.
|
org.mule.runtime.http.api.domain.message.request.HttpRequest |
build() |
org.mule.runtime.api.util.MultiMap<String,String> |
getHeaders()
Returns an immutable map containing the headers configured for this request\
|
String |
getMethod()
Returns the HTTP verb to be used in this request
|
org.mule.runtime.api.util.MultiMap<String,String> |
getQueryParams()
Returns an immutable map containing the query parameters configured for this request.
|
String |
getUri()
Returns the full uri for this request.
|
RestRequestBuilder |
headers(org.mule.runtime.api.util.MultiMap<String,String> headers)
Adds all the headers present in a multimap to the request builder.
|
RestRequestBuilder |
queryParams(org.mule.runtime.api.util.MultiMap<String,String> queryParams)
Adds all the query parameters present in a multimap to the request builder.
|
RestRequestBuilder |
setBody(org.mule.runtime.api.metadata.TypedValue<InputStream> body,
StreamingType streamingType)
Defines the body and content streaming for this request.
|
RestRequestBuilder |
setQueryParamFormat(RestRequestBuilder.QueryParamFormat queryParamFormat)
Defines the format in which the query parameter arrays must be handled by this request.
|
public RestRequestBuilder(String baseUri, String path, org.mule.runtime.http.api.HttpConstants.Method method, RequestParameters requestParameters)
RestRequestBuilder per the given parameters.
This creates a new RestRequestBuilder and initializes it's URI, method, custom query params and custom headers.
The returned builder can still to add/change additional information.
baseUri - the base uri to be usedpath - the path of the resource to request, relative to the base URImethod - the request methodrequestParameters - the request parameterspublic String getUri()
public String getMethod()
public RestRequestBuilder addHeader(String key, String value)
key - The header name.value - The header value.public RestRequestBuilder addHeaders(String key, List<String> values)
key - The header name.values - The header values.public RestRequestBuilder headers(org.mule.runtime.api.util.MultiMap<String,String> headers)
headers - The headers to be added to the request builder.public org.mule.runtime.api.util.MultiMap<String,String> getHeaders()
public RestRequestBuilder addQueryParam(String key, String value)
key - The query parameter name.value - The query parameter value.public RestRequestBuilder addQueryParams(String key, List<String> values)
key - The query parameter name.values - The query parameter value.public RestRequestBuilder queryParams(org.mule.runtime.api.util.MultiMap<String,String> queryParams)
queryParams - The query parameters to be added to the request builder.public org.mule.runtime.api.util.MultiMap<String,String> getQueryParams()
public RestRequestBuilder setQueryParamFormat(RestRequestBuilder.QueryParamFormat queryParamFormat)
queryParamFormat - The query parameter array formatpublic RestRequestBuilder setBody(org.mule.runtime.api.metadata.TypedValue<InputStream> body, StreamingType streamingType)
body - A TypedValue that contains the body to be sent in this request. Nullable.streamingType - The streaming type that must be used for this request's content.public org.mule.runtime.http.api.domain.message.request.HttpRequest build()
Copyright © 2019. All rights reserved.