java.lang.Object
org.elasticsearch.rest.RestRequest
- All Implemented Interfaces:
ToXContent.Params
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic enum -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRestRequest(RestRequest other) protectedRestRequest(XContentParserConfiguration parserConfig, Map<String, String> params, String path, Map<String, List<String>> headers, HttpRequest httpRequest, HttpChannel httpChannel) -
Method Summary
Modifier and TypeMethodDescriptionfinal voidapplyContentParser(CheckedConsumer<XContentParser, IOException> applyParser) If there is any content then callapplyParserwith the parser, otherwise do nothing.content()intfinal Tuple<XContentType,BytesReference> Get the content of the request or the contents of thesourceparam or throw an exception if both are missing.final XContentParserA parser for the contents of this request if it has contents, otherwise a parser for thesourceparameter if there is one, otherwise throws anElasticsearchParseException.final XContentParserA parser for the contents of this request if there is a body, otherwise throws anElasticsearchParseException.Get the configuration that should be used to createXContentParserfrom this request.getAllHeaderValues(String name) Get all values for the header ornullif the header was not foundGet all of the headers and values associated with the headers.final longThe requested version of the REST API.final XContentTypeTheXContentTypethat was parsed from theContent-Typeheader.booleanfinal booleanDoes this request have content or asourceparameter? Use this instead ofhasContent()if this RestHandler treats thesourceparameter like the body content.booleanfinal booleanfinal StringGet the value of the header ornullif not found.booleanvoidmarkResponseRestricted(String restriction) method()Returns the HTTP method used in the REST request.final Stringfinal StringbooleanparamAsBoolean(String key, boolean defaultValue) paramAsBoolean(String key, Boolean defaultValue) doubleparamAsDouble(String key, double defaultValue) floatparamAsFloat(String key, float defaultValue) intparamAsInt(String key, int defaultValue) longparamAsLong(String key, long defaultValue) paramAsSize(String key, ByteSizeValue defaultValue) String[]paramAsStringArray(String key, String[] defaultValue) String[]paramAsTime(String key, TimeValue defaultValue) params()static XContentTypeparseContentType(List<String> header) Parses the given content type string for the media type.final Stringpath()The path part of the URI (without the query string), decoded.rawPath()The non decoded, raw path provided.static RestRequestrequest(XContentParserConfiguration parserConfig, HttpRequest httpRequest, HttpChannel httpChannel) Creates a new REST request.static RestRequestrequestWithoutParameters(XContentParserConfiguration parserConfig, HttpRequest httpRequest, HttpChannel httpChannel) Creates a new REST request.final BytesReferenceuri()The uri of the rest request, with the query string.final voidCall a consumer with the parser for the contents of this request if it has contents, otherwise with a parser for thesourceparameter if there is one, otherwise withnull.
-
Field Details
-
RESPONSE_RESTRICTED
- See Also:
-
-
Constructor Details
-
RestRequest
protected RestRequest(XContentParserConfiguration parserConfig, Map<String, String> params, String path, Map<String, List<String>> headers, HttpRequest httpRequest, HttpChannel httpChannel) -
RestRequest
-
-
Method Details
-
isContentConsumed
public boolean isContentConsumed() -
request
public static RestRequest request(XContentParserConfiguration parserConfig, HttpRequest httpRequest, HttpChannel httpChannel) Creates a new REST request.- Throws:
RestRequest.BadParameterException- if the parameters can not be decodedRestRequest.MediaTypeHeaderException- if the Content-Type or Accept header can not be parsed
-
requestWithoutParameters
public static RestRequest requestWithoutParameters(XContentParserConfiguration parserConfig, HttpRequest httpRequest, HttpChannel httpChannel) Creates a new REST request. The path is not decoded so this constructor will not throw aRestRequest.BadParameterException.- Throws:
RestRequest.MediaTypeHeaderException- if the Content-Type or Accept header can not be parsed
-
method
Returns the HTTP method used in the REST request.- Returns:
- the
RestRequest.Methodused in the REST request - Throws:
IllegalArgumentException- if the HTTP method is invalid
-
uri
The uri of the rest request, with the query string. -
rawPath
The non decoded, raw path provided. -
path
The path part of the URI (without the query string), decoded. -
hasContent
public boolean hasContent() -
contentLength
public int contentLength() -
content
-
requiredContent
- Returns:
- content of the request body or throw an exception if the body or content type is missing
-
header
Get the value of the header ornullif not found. This method only retrieves the first header value if multiple values are sent. Use ofgetAllHeaderValues(String)should be preferred -
getAllHeaderValues
Get all values for the header ornullif the header was not found -
getHeaders
Get all of the headers and values associated with the headers. Modifications of this map are not supported. -
getRequestId
public final long getRequestId() -
getXContentType
TheXContentTypethat was parsed from theContent-Typeheader. This value will benullin the case of a request without a validContent-Typeheader, a request without content (hasContent(), or a plain text request -
getHttpChannel
-
getHttpRequest
-
hasParam
-
param
- Specified by:
paramin interfaceToXContent.Params
-
param
- Specified by:
paramin interfaceToXContent.Params
-
params
-
paramAsFloat
-
paramAsDouble
-
paramAsInt
-
paramAsLong
-
paramAsBoolean
- Specified by:
paramAsBooleanin interfaceToXContent.Params
-
paramAsBoolean
- Specified by:
paramAsBooleanin interfaceToXContent.Params
-
paramAsTime
-
paramAsSize
-
paramAsStringArray
-
paramAsStringArrayOrEmptyIfAll
-
contentParserConfig
Get the configuration that should be used to createXContentParserfrom this request. -
contentParser
A parser for the contents of this request if there is a body, otherwise throws anElasticsearchParseException. UseapplyContentParser(CheckedConsumer)if you want to gracefully handle when the request doesn't have any contents. UsecontentOrSourceParamParser()for requests that support specifying the request body in thesourceparam.- Throws:
IOException
-
applyContentParser
public final void applyContentParser(CheckedConsumer<XContentParser, IOException> applyParser) throws IOExceptionIf there is any content then callapplyParserwith the parser, otherwise do nothing.- Throws:
IOException
-
hasContentOrSourceParam
public final boolean hasContentOrSourceParam()Does this request have content or asourceparameter? Use this instead ofhasContent()if this RestHandler treats thesourceparameter like the body content. -
contentOrSourceParamParser
A parser for the contents of this request if it has contents, otherwise a parser for thesourceparameter if there is one, otherwise throws anElasticsearchParseException. UsewithContentOrSourceParamParserOrNull(CheckedConsumer)instead if you need to handle the absence request content gracefully.- Throws:
IOException
-
withContentOrSourceParamParserOrNull
public final void withContentOrSourceParamParserOrNull(CheckedConsumer<XContentParser, IOException> withParser) throws IOExceptionCall a consumer with the parser for the contents of this request if it has contents, otherwise with a parser for thesourceparameter if there is one, otherwise withnull. UsecontentOrSourceParamParser()if you should throw an exception back to the user when there isn't request content.- Throws:
IOException
-
contentOrSourceParam
Get the content of the request or the contents of thesourceparam or throw an exception if both are missing. PrefercontentOrSourceParamParser()orwithContentOrSourceParamParserOrNull(CheckedConsumer)if you need a parser. -
getParsedAccept
-
getParsedContentType
-
parseContentType
Parses the given content type string for the media type. This method currently ignores parameters. -
getRestApiVersion
The requested version of the REST API. -
hasExplicitRestApiVersion
public boolean hasExplicitRestApiVersion() -
markResponseRestricted
-