Package io.micronaut.function.aws.proxy
Class ApiGatewayServletRequest<T,REQ,RES>
java.lang.Object
io.micronaut.function.aws.proxy.ApiGatewayServletRequest<T,REQ,RES>
- Type Parameters:
T
- The body typeREQ
- The request event typeRES
- The response event type
- All Implemented Interfaces:
io.micronaut.core.attr.AttributeHolder
,io.micronaut.core.attr.MutableAttributeHolder
,io.micronaut.core.convert.ConversionServiceAware
,io.micronaut.http.FullHttpRequest<T>
,io.micronaut.http.HttpMessage<T>
,io.micronaut.http.HttpRequest<T>
,io.micronaut.http.MutableHttpMessage<T>
,io.micronaut.http.MutableHttpRequest<T>
,io.micronaut.http.ServerHttpRequest<T>
,io.micronaut.servlet.http.MutableServletHttpRequest<REQ,
,T> io.micronaut.servlet.http.ParsedBodyHolder<T>
,io.micronaut.servlet.http.ServletExchange<REQ,
,RES> io.micronaut.servlet.http.ServletHttpRequest<REQ,
T>
- Direct Known Subclasses:
ApiGatewayProxyServletRequest
,APIGatewayV2HTTPEventServletRequest
,ApplicationLoadBalancerServletRequest
@Internal
public abstract class ApiGatewayServletRequest<T,REQ,RES>
extends Object
implements io.micronaut.servlet.http.MutableServletHttpRequest<REQ,T>, io.micronaut.servlet.http.ServletExchange<REQ,RES>, io.micronaut.http.FullHttpRequest<T>, io.micronaut.servlet.http.ParsedBodyHolder<T>, io.micronaut.http.ServerHttpRequest<T>
Base class for all the versions of the Gateway events.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.servlet.http.ServletHttpRequest
io.micronaut.servlet.http.ServletHttpRequest.AsyncExecution, io.micronaut.servlet.http.ServletHttpRequest.AsyncExecutionCallback
-
Field Summary
Modifier and TypeFieldDescriptionprotected io.micronaut.core.convert.ConversionService
protected final REQ
Fields inherited from interface io.micronaut.http.HttpRequest
SCHEME_HTTP, SCHEME_HTTPS
-
Constructor Summary
ModifierConstructorDescriptionprotected
ApiGatewayServletRequest
(io.micronaut.core.convert.ConversionService conversionService, REQ request, URI uri, io.micronaut.http.HttpMethod httpMethod, org.slf4j.Logger log, io.micronaut.servlet.http.BodyBuilder bodyBuilder) -
Method Summary
Modifier and TypeMethodDescription<B> io.micronaut.http.MutableHttpRequest<B>
body
(B body) @Nullable io.micronaut.core.execution.ExecutionFlow<io.micronaut.core.io.buffer.ByteBuffer<?>>
protected static URI
buildUri
(@Nullable String path, @Nullable Map<String, String> queryParameters, @Nullable Map<String, List<String>> multiQueryParameters) Given a path and the query params from the event, build a URI.@NonNull io.micronaut.http.body.ByteBody
byteBody()
@Nullable io.micronaut.core.io.buffer.ByteBuffer<?>
contents()
io.micronaut.http.MutableHttpRequest<T>
cookie
(io.micronaut.http.cookie.Cookie cookie) io.micronaut.core.convert.value.MutableConvertibleValues<Object>
getBody()
<B> @NonNull Optional<B>
getBody
(io.micronaut.core.type.Argument<B> arg) abstract byte[]
protected byte[]
getBodyBytes
(@NonNull Supplier<String> bodySupplier, @NonNull BooleanSupplier base64EncodedSupplier) @NonNull io.micronaut.http.cookie.Cookies
protected @NonNull io.micronaut.http.MutableHttpHeaders
getHeaders
(@NonNull Supplier<Map<String, String>> singleHeaders, @NonNull Supplier<Map<String, List<String>>> multiValueHeaders) io.micronaut.http.HttpMethod
protected @NonNull io.micronaut.http.MutableHttpParameters
getParameters
(@NonNull Supplier<Map<String, String>> queryStringParametersSupplier, @NonNull Supplier<Map<String, List<String>>> multiQueryStringParametersSupplier) getParametersFromBody
(Map<String, String> queryStringParameters) Parse the parameters from the body.getUri()
protected boolean
isFormSubmission
(io.micronaut.http.MediaType contentType) protected static io.micronaut.http.HttpMethod
parseMethod
(Supplier<String> httpMethodConsumer) void
setConversionService
(io.micronaut.core.convert.ConversionService conversionService) void
setParsedBody
(T body) splitCommaSeparatedValue
(@Nullable String value) transformCommaSeparatedValue
(@Nullable Map<String, String> input) io.micronaut.http.MutableHttpRequest<T>
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.core.attr.AttributeHolder
getAttribute, getAttribute
Methods inherited from interface io.micronaut.http.FullHttpRequest
isFull
Methods inherited from interface io.micronaut.http.HttpMessage
getBody, getBody, getBodyWriter, getCharacterEncoding, getContentLength, getContentType
Methods inherited from interface io.micronaut.http.HttpRequest
accept, getCertificate, getHttpVersion, getLocale, getMethodName, getOrigin, getPath, getRemoteAddress, getServerAddress, getServerName, getSslSession, getUserPrincipal, getUserPrincipal, isSecure, mutate, setAttribute
Methods inherited from interface io.micronaut.core.attr.MutableAttributeHolder
removeAttribute
Methods inherited from interface io.micronaut.http.MutableHttpMessage
bodyWriter
Methods inherited from interface io.micronaut.http.MutableHttpRequest
accept, accept, basicAuth, bearerAuth, contentEncoding, contentLength, contentType, contentType, cookies, getHeaders, getParameters, header, headers, headers, toMutableRequest, uri
Methods inherited from interface io.micronaut.servlet.http.ServletExchange
getResponse
Methods inherited from interface io.micronaut.servlet.http.ServletHttpRequest
executeAsync, getContextPath, isAsyncSupported
-
Field Details
-
conversionService
protected io.micronaut.core.convert.ConversionService conversionService -
requestEvent
-
-
Constructor Details
-
ApiGatewayServletRequest
-
-
Method Details
-
byteBody
@NonNull public @NonNull io.micronaut.http.body.ByteBody byteBody()- Specified by:
byteBody
in interfaceio.micronaut.http.ServerHttpRequest<T>
-
getBodyBytes
-
buildUri
protected static URI buildUri(@Nullable @Nullable String path, @Nullable @Nullable Map<String, String> queryParameters, @Nullable @Nullable Map<String, List<String>> multiQueryParameters) Given a path and the query params from the event, build a URI.- Parameters:
path
- the request pathqueryParameters
- the query parameters from the eventmultiQueryParameters
- the multi-value query parameters from the event- Returns:
- the URI
- Since:
- 4.0.3
-
parseMethod
-
getInputStream
- Specified by:
getInputStream
in interfaceio.micronaut.servlet.http.ServletHttpRequest<T,
REQ> - Throws:
IOException
-
getRequest
-
getReader
- Specified by:
getReader
in interfaceio.micronaut.servlet.http.ServletHttpRequest<T,
REQ> - Throws:
IOException
-
getNativeRequest
-
getMethod
public io.micronaut.http.HttpMethod getMethod()- Specified by:
getMethod
in interfaceio.micronaut.http.HttpRequest<T>
-
getUri
- Specified by:
getUri
in interfaceio.micronaut.http.HttpRequest<T>
-
getCookies
@NonNull public @NonNull io.micronaut.http.cookie.Cookies getCookies()- Specified by:
getCookies
in interfaceio.micronaut.http.HttpRequest<T>
-
getAttributes
- Specified by:
getAttributes
in interfaceio.micronaut.core.attr.AttributeHolder
- Specified by:
getAttributes
in interfaceio.micronaut.http.HttpMessage<T>
- Specified by:
getAttributes
in interfaceio.micronaut.core.attr.MutableAttributeHolder
-
getBody
- Specified by:
getBody
in interfaceio.micronaut.http.HttpMessage<T>
-
getBody
- Specified by:
getBody
in interfaceio.micronaut.http.HttpMessage<T>
-
isFormSubmission
protected boolean isFormSubmission(io.micronaut.http.MediaType contentType) - Parameters:
contentType
- Content Type- Returns:
- returns true if the content type is either application/x-www-form-urlencoded or multipart/form-data
-
cookie
- Specified by:
cookie
in interfaceio.micronaut.http.MutableHttpRequest<T>
-
uri
- Specified by:
uri
in interfaceio.micronaut.http.MutableHttpRequest<T>
-
body
public <B> io.micronaut.http.MutableHttpRequest<B> body(B body) -
getParametersFromBody
protected MapListOfStringAndMapStringMutableHttpParameters getParametersFromBody(Map<String, String> queryStringParameters) Parse the parameters from the body.- Parameters:
queryStringParameters
- Any query string parameters- Returns:
- The parameters
-
setConversionService
public void setConversionService(io.micronaut.core.convert.ConversionService conversionService) - Specified by:
setConversionService
in interfaceio.micronaut.core.convert.ConversionServiceAware
-
setParsedBody
- Specified by:
setParsedBody
in interfaceio.micronaut.servlet.http.ParsedBodyHolder<T>
-
contents
@Nullable public @Nullable io.micronaut.core.io.buffer.ByteBuffer<?> contents()- Specified by:
contents
in interfaceio.micronaut.http.FullHttpRequest<T>
-
bufferContents
@Nullable public @Nullable io.micronaut.core.execution.ExecutionFlow<io.micronaut.core.io.buffer.ByteBuffer<?>> bufferContents()- Specified by:
bufferContents
in interfaceio.micronaut.http.FullHttpRequest<T>
-
getBodyBytes
protected byte[] getBodyBytes(@NonNull @NonNull Supplier<String> bodySupplier, @NonNull @NonNull BooleanSupplier base64EncodedSupplier) throws ApiGatewayServletRequest.EmptyBodyException - Parameters:
bodySupplier
- HTTP Request's Body Supplierbase64EncodedSupplier
- Whether the body is Base 64 encoded- Returns:
- body bytes
- Throws:
ApiGatewayServletRequest.EmptyBodyException
- if the body is empty
-
splitCommaSeparatedValue
-
transformCommaSeparatedValue
-
getParameters
@NonNull protected @NonNull io.micronaut.http.MutableHttpParameters getParameters(@NonNull @NonNull Supplier<Map<String, String>> queryStringParametersSupplier, @NonNull @NonNull Supplier<Map<String, List<String>>> multiQueryStringParametersSupplier) - Parameters:
queryStringParametersSupplier
- Query String parameters as a map with key string and value stringmultiQueryStringParametersSupplier
- Query String parameters as a map with key string and value list of strings- Returns:
- Mutable HTTP parameters
-
getHeaders
@NonNull protected @NonNull io.micronaut.http.MutableHttpHeaders getHeaders(@NonNull @NonNull Supplier<Map<String, String>> singleHeaders, @NonNull @NonNull Supplier<Map<String, List<String>>> multiValueHeaders) - Parameters:
singleHeaders
- Single value headersmultiValueHeaders
- Multi-value headers- Returns:
- The combined mutable headers
-