-
public class Context
Provides access to functions for handling the request and response
-
-
Method Summary
Modifier and Type Method Description final HandlerType
handlerType()
Gets the handler type of the current handler final <T extends Any> T
appAttribute(String key)
Gets an attribute from the Javalin instance serving the request final <T extends Any> T
cookieStore(String key)
Gets cookie store value for specified key. final Unit
cookieStore(String key, Object value)
Sets cookie store value for specified key. final Unit
clearCookieStore()
Clears cookie store in the context and from the response. final String
matchedPath()
Gets the path that was used to match request (also includes before/after paths) final String
endpointHandlerPath()
Gets the endpoint path that was used to match request (null in before, available in endpoint/after) final String
body()
Gets the request body as a String. final ByteArray
bodyAsBytes()
Gets the request body as a ByteArray. final <T extends Any> T
bodyAsClass(Class<T> clazz)
Maps a JSON body to a Java/Kotlin class using the registered io.javalin.plugin.json.JsonMapper final <T extends Any> T
bodyAsClass()
Reified version of bodyAsClass (Kotlin only) final <T extends Any> T
bodyStreamAsClass(Class<T> clazz)
Maps a JSON body to a Java/Kotlin class using the registered io.javalin.plugin.json.JsonMapper final <T extends Any> T
bodyStreamAsClass()
Reified version of bodyStreamAsClass (Kotlin only) final InputStream
bodyAsInputStream()
Gets the request body as a InputStream final <T extends Any> BodyValidator<T>
bodyValidator(Class<T> clazz)
Creates a typed BodyValidator for the body() value final <T extends Any> BodyValidator<T>
bodyValidator()
Reified version of bodyValidator (Kotlin only) final UploadedFile
uploadedFile(String fileName)
Gets first UploadedFile for the specified name, or null. final List<UploadedFile>
uploadedFiles(String fileName)
Gets a list of UploadedFiles for the specified name, or empty list. final List<UploadedFile>
uploadedFiles()
Gets a list of UploadedFiles, or empty list. final String
formParam(String key)
Gets a form param if it exists, else null final <T extends Any> Validator<T>
formParamAsClass(String key, Class<T> clazz)
Creates a typed Validator for the formParam() value final <T extends Any> Validator<T>
formParamAsClass(String key)
Reified version of formParamAsClass (Kotlin only) final List<String>
formParams(String key)
Gets a list of form params for the specified key, or empty list. final Map<String, List<String>>
formParamMap()
Gets a map with all the form param keys and values. final String
pathParam(String key)
Gets a path param by name (ex: pathParam("param"). final <T extends Any> Validator<T>
pathParamAsClass(String key, Class<T> clazz)
Creates a typed Validator for the pathParam() value final <T extends Any> Validator<T>
pathParamAsClass(String key)
Reified version of pathParamAsClass (Kotlin only) final Map<String, String>
pathParamMap()
Gets a map of all the pathParamAsClass keys and values. final Boolean
basicAuthCredentialsExist()
Checks whether or not basic-auth credentials from the request exists. final BasicAuthCredentials
basicAuthCredentials()
Gets basic-auth credentials from the request, or throws. final Unit
attribute(String key, Object value)
Sets an attribute on the request. final <T extends Any> T
attribute(String key)
Gets the specified attribute from the request. final Map<String, Object>
attributeMap()
Gets a map with all the attribute keys and values on the request. final Integer
contentLength()
Gets the request content length. final String
contentType()
Gets the request content type, or null. final Context
contentType(String contentType)
Sets response content type to specified String value. final Context
contentType(ContentType contentType)
Sets response content type to specified ContentType value. final String
cookie(String name)
Gets a request cookie by name, or null. final Context
cookie(String name, String value, Integer maxAge)
Sets a cookie with name, value, and (overloaded) max-age. final Context
cookie(String name, String value)
Sets a cookie with name, value, and (overloaded) max-age. final Context
cookie(Cookie cookie)
Sets a Cookie. final Map<String, String>
cookieMap()
Gets a map with all the cookie keys and values on the request. final String
header(String header)
Gets a request header by name, or null. final Context
header(String name, String value)
Sets response header by name and value. final <T extends Any> Validator<T>
headerAsClass(String header, Class<T> clazz)
Creates a typed Validator for the header() value final <T extends Any> Validator<T>
headerAsClass(String header)
Reified version of headerAsClass (Kotlin only) final Map<String, String>
headerMap()
Gets a map with all the header keys and values on the request. final String
host()
Gets the request host, or null. final String
ip()
Gets the request ip. final Boolean
isMultipart()
Returns true if request is multipart. final Boolean
isMultipartFormData()
Returns true if request is multipart/form-data. final String
method()
Gets the request method. final String
path()
Gets the request path. final Integer
port()
Gets the request port. final String
protocol()
Gets the request protocol. final String
queryParam(String key)
Gets a query param if it exists, else null final <T extends Any> Validator<T>
queryParamAsClass(String key, Class<T> clazz)
Creates a typed Validator for the queryParam() value final <T extends Any> Validator<T>
queryParamAsClass(String key)
Reified version of queryParamAsClass (Kotlin only) final List<String>
queryParams(String key)
Gets a list of query params for the specified key, or empty list. final Map<String, List<String>>
queryParamMap()
Gets a map with all the query param keys and values. final String
queryString()
Gets the request query string, or null. final String
scheme()
Gets the request scheme. final Unit
sessionAttribute(String key, Object value)
Sets an attribute for the user session. final <T extends Any> T
sessionAttribute(String key)
Gets specified attribute from the user session, or null. final <T extends Any> T
consumeSessionAttribute(String key)
final Unit
cachedSessionAttribute(String key, Object value)
Sets an attribute for the user session, and caches it on the request final <T extends Any> T
cachedSessionAttribute(String key)
Gets specified attribute from the request attribute cache, or the user session, or null. final <T extends Any> T
cachedSessionAttributeOrCompute(String key, Function1<Context, T> callback)
Gets specified attribute from the request attribute cache, or the user session, or computes the value from callback. final Map<String, Object>
sessionAttributeMap()
Gets a map of all the attributes in the user session. final String
url()
Gets the request url. final String
fullUrl()
Gets the full request url, including query string (if present) final String
contextPath()
Gets the request context path. final String
userAgent()
Gets the request user agent, or null. final Context
result(String resultString)
Sets context result to the specified String. final Context
result(ByteArray resultBytes)
Sets context result to the specified array of bytes. final Context
result(InputStream resultStream)
Sets context result to the specified InputStream. final String
resultString()
Gets the current resultReference as a String (if possible), and reset the underlying stream final Unit
seekableStream(InputStream inputStream, String contentType, Long size)
Writes the specified inputStream as a seekable stream final Unit
seekableStream(InputStream inputStream, String contentType)
Writes the specified inputStream as a seekable stream final InputStream
resultStream()
final Context
future(CompletableFuture<?> future, Consumer<Object> callback)
The default callback (used if no callback is provided) can be configured through ContextResolver.defaultFutureCallback final Context
future(CompletableFuture<?> future)
The default callback (used if no callback is provided) can be configured through ContextResolver.defaultFutureCallback final CompletableFuture<?>
resultFuture()
Gets the current context result as a CompletableFuture (if set). final Unit
redirect(String location, Integer httpStatusCode)
Sets the response status code and redirects to the specified location. final Unit
redirect(String location)
Sets the response status code and redirects to the specified location. final Context
status(HttpCode httpCode)
Sets the response status. final Context
status(Integer statusCode)
Sets the response status. final Integer
status()
Gets the response status. final Context
removeCookie(String name, String path)
Removes cookie specified by name and path (optional). final Context
removeCookie(String name)
Removes cookie specified by name and path (optional). final Context
html(String html)
Sets context result to specified html string and sets content-type to text/html. final Context
json(Object obj)
Serializes object to a JSON-string using the registered io.javalin.plugin.json.JsonMapper and sets it as the context result. final Context
jsonStream(Object obj)
Serializes object to a JSON-stream using the registered io.javalin.plugin.json.JsonMapper and sets it as the context result. final Context
render(String filePath, Map<String, Object> model)
Renders a file with specified values and sets it as the context result. final Context
render(String filePath)
Renders a file with specified values and sets it as the context result. -
-
Method Detail
-
handlerType
final HandlerType handlerType()
Gets the handler type of the current handler
-
appAttribute
final <T extends Any> T appAttribute(String key)
Gets an attribute from the Javalin instance serving the request
-
cookieStore
final <T extends Any> T cookieStore(String key)
Gets cookie store value for specified key.
-
cookieStore
final Unit cookieStore(String key, Object value)
Sets cookie store value for specified key. Values are made available for other handlers, requests, and servers.
-
clearCookieStore
final Unit clearCookieStore()
Clears cookie store in the context and from the response.
-
matchedPath
final String matchedPath()
Gets the path that was used to match request (also includes before/after paths)
-
endpointHandlerPath
final String endpointHandlerPath()
Gets the endpoint path that was used to match request (null in before, available in endpoint/after)
-
bodyAsBytes
final ByteArray bodyAsBytes()
Gets the request body as a ByteArray. Calling this method returns the body as a ByteArray. If io.javalin.core.JavalinConfig.maxRequestSize is set and body is bigger than its value, a io.javalin.http.HttpResponseException is throw, with status 413 PAYLOAD_TOO_LARGE.
-
bodyAsClass
final <T extends Any> T bodyAsClass(Class<T> clazz)
Maps a JSON body to a Java/Kotlin class using the registered io.javalin.plugin.json.JsonMapper
-
bodyAsClass
final <T extends Any> T bodyAsClass()
Reified version of bodyAsClass (Kotlin only)
-
bodyStreamAsClass
final <T extends Any> T bodyStreamAsClass(Class<T> clazz)
Maps a JSON body to a Java/Kotlin class using the registered io.javalin.plugin.json.JsonMapper
-
bodyStreamAsClass
final <T extends Any> T bodyStreamAsClass()
Reified version of bodyStreamAsClass (Kotlin only)
-
bodyAsInputStream
final InputStream bodyAsInputStream()
Gets the request body as a InputStream
-
bodyValidator
final <T extends Any> BodyValidator<T> bodyValidator(Class<T> clazz)
Creates a typed BodyValidator for the body() value
-
bodyValidator
final <T extends Any> BodyValidator<T> bodyValidator()
Reified version of bodyValidator (Kotlin only)
-
uploadedFile
final UploadedFile uploadedFile(String fileName)
Gets first UploadedFile for the specified name, or null.
-
uploadedFiles
final List<UploadedFile> uploadedFiles(String fileName)
Gets a list of UploadedFiles for the specified name, or empty list.
-
uploadedFiles
final List<UploadedFile> uploadedFiles()
Gets a list of UploadedFiles, or empty list.
-
formParamAsClass
final <T extends Any> Validator<T> formParamAsClass(String key, Class<T> clazz)
Creates a typed Validator for the formParam() value
-
formParamAsClass
final <T extends Any> Validator<T> formParamAsClass(String key)
Reified version of formParamAsClass (Kotlin only)
-
formParams
final List<String> formParams(String key)
Gets a list of form params for the specified key, or empty list.
-
formParamMap
final Map<String, List<String>> formParamMap()
Gets a map with all the form param keys and values.
-
pathParam
final String pathParam(String key)
Gets a path param by name (ex: pathParam("param").
Ex: If the handler path is /users/{user-id}, and a browser GETs /users/123, pathParam("user-id") will return "123"
-
pathParamAsClass
final <T extends Any> Validator<T> pathParamAsClass(String key, Class<T> clazz)
Creates a typed Validator for the pathParam() value
-
pathParamAsClass
final <T extends Any> Validator<T> pathParamAsClass(String key)
Reified version of pathParamAsClass (Kotlin only)
-
pathParamMap
final Map<String, String> pathParamMap()
Gets a map of all the pathParamAsClass keys and values.
-
basicAuthCredentialsExist
final Boolean basicAuthCredentialsExist()
Checks whether or not basic-auth credentials from the request exists.
Returns a Boolean which is true if there is an Authorization header with Basic auth credentials. Returns false otherwise.
-
basicAuthCredentials
final BasicAuthCredentials basicAuthCredentials()
Gets basic-auth credentials from the request, or throws.
Returns a wrapper object BasicAuthCredentials which contains the Base64 decoded username and password from the Authorization header.
-
attribute
final Unit attribute(String key, Object value)
Sets an attribute on the request. Attributes are available to other handlers in the request lifecycle
-
attribute
final <T extends Any> T attribute(String key)
Gets the specified attribute from the request.
-
attributeMap
final Map<String, Object> attributeMap()
Gets a map with all the attribute keys and values on the request.
-
contentLength
final Integer contentLength()
Gets the request content length.
-
contentType
final String contentType()
Gets the request content type, or null.
-
contentType
final Context contentType(String contentType)
Sets response content type to specified String value.
-
contentType
final Context contentType(ContentType contentType)
Sets response content type to specified ContentType value.
-
cookie
@JvmOverloads() final Context cookie(String name, String value, Integer maxAge)
Sets a cookie with name, value, and (overloaded) max-age.
-
cookie
@JvmOverloads() final Context cookie(String name, String value)
Sets a cookie with name, value, and (overloaded) max-age.
-
cookieMap
final Map<String, String> cookieMap()
Gets a map with all the cookie keys and values on the request.
-
headerAsClass
final <T extends Any> Validator<T> headerAsClass(String header, Class<T> clazz)
Creates a typed Validator for the header() value
-
headerAsClass
final <T extends Any> Validator<T> headerAsClass(String header)
Reified version of headerAsClass (Kotlin only)
-
headerMap
final Map<String, String> headerMap()
Gets a map with all the header keys and values on the request.
-
isMultipart
final Boolean isMultipart()
Returns true if request is multipart.
-
isMultipartFormData
final Boolean isMultipartFormData()
Returns true if request is multipart/form-data.
-
queryParam
final String queryParam(String key)
Gets a query param if it exists, else null
-
queryParamAsClass
final <T extends Any> Validator<T> queryParamAsClass(String key, Class<T> clazz)
Creates a typed Validator for the queryParam() value
-
queryParamAsClass
final <T extends Any> Validator<T> queryParamAsClass(String key)
Reified version of queryParamAsClass (Kotlin only)
-
queryParams
final List<String> queryParams(String key)
Gets a list of query params for the specified key, or empty list.
-
queryParamMap
final Map<String, List<String>> queryParamMap()
Gets a map with all the query param keys and values.
-
queryString
final String queryString()
Gets the request query string, or null.
-
sessionAttribute
final Unit sessionAttribute(String key, Object value)
Sets an attribute for the user session.
-
sessionAttribute
final <T extends Any> T sessionAttribute(String key)
Gets specified attribute from the user session, or null.
-
consumeSessionAttribute
final <T extends Any> T consumeSessionAttribute(String key)
-
cachedSessionAttribute
final Unit cachedSessionAttribute(String key, Object value)
Sets an attribute for the user session, and caches it on the request
-
cachedSessionAttribute
final <T extends Any> T cachedSessionAttribute(String key)
Gets specified attribute from the request attribute cache, or the user session, or null.
-
cachedSessionAttributeOrCompute
final <T extends Any> T cachedSessionAttributeOrCompute(String key, Function1<Context, T> callback)
Gets specified attribute from the request attribute cache, or the user session, or computes the value from callback.
-
sessionAttributeMap
final Map<String, Object> sessionAttributeMap()
Gets a map of all the attributes in the user session.
-
contextPath
final String contextPath()
Gets the request context path.
-
result
final Context result(String resultString)
Sets context result to the specified String. Will overwrite the current result if there is one.
-
result
final Context result(ByteArray resultBytes)
Sets context result to the specified array of bytes. Will overwrite the current result if there is one.
-
result
final Context result(InputStream resultStream)
Sets context result to the specified InputStream. Will overwrite the current result if there is one.
-
resultString
final String resultString()
Gets the current resultReference as a String (if possible), and reset the underlying stream
-
seekableStream
@JvmOverloads() final Unit seekableStream(InputStream inputStream, String contentType, Long size)
Writes the specified inputStream as a seekable stream
-
seekableStream
@JvmOverloads() final Unit seekableStream(InputStream inputStream, String contentType)
Writes the specified inputStream as a seekable stream
-
resultStream
final InputStream resultStream()
-
future
@JvmOverloads() final Context future(CompletableFuture<?> future, Consumer<Object> callback)
The default callback (used if no callback is provided) can be configured through ContextResolver.defaultFutureCallback
-
future
@JvmOverloads() final Context future(CompletableFuture<?> future)
The default callback (used if no callback is provided) can be configured through ContextResolver.defaultFutureCallback
-
resultFuture
final CompletableFuture<?> resultFuture()
Gets the current context result as a CompletableFuture (if set).
-
redirect
@JvmOverloads() final Unit redirect(String location, Integer httpStatusCode)
Sets the response status code and redirects to the specified location.
-
redirect
@JvmOverloads() final Unit redirect(String location)
Sets the response status code and redirects to the specified location.
-
removeCookie
@JvmOverloads() final Context removeCookie(String name, String path)
Removes cookie specified by name and path (optional).
-
removeCookie
@JvmOverloads() final Context removeCookie(String name)
Removes cookie specified by name and path (optional).
-
html
final Context html(String html)
Sets context result to specified html string and sets content-type to text/html.
-
json
final Context json(Object obj)
Serializes object to a JSON-string using the registered io.javalin.plugin.json.JsonMapper and sets it as the context result. Also sets content type to application/json.
-
jsonStream
final Context jsonStream(Object obj)
Serializes object to a JSON-stream using the registered io.javalin.plugin.json.JsonMapper and sets it as the context result. Also sets content type to application/json.
-
render
@JvmOverloads() final Context render(String filePath, Map<String, Object> model)
Renders a file with specified values and sets it as the context result. Also sets content-type to text/html. Determines the correct rendering-function based on the file extension.
-
render
@JvmOverloads() final Context render(String filePath)
Renders a file with specified values and sets it as the context result. Also sets content-type to text/html. Determines the correct rendering-function based on the file extension.
-
-
-
-