Predefined Directives (alphabetically) • Akka HTTP (original) (raw)

alwaysCache

Wraps its inner Route with caching support using the given CacheCache implementation and the in-scope keyer function.

attribute

Extracts the value of the request attribute with a given key

authenticateBasic

Wraps the inner route with Http Basic authentication support using a given Authenticator[T] Authenticator<T>

authenticateBasicAsync

Wraps the inner route with Http Basic authentication support using a given AsyncAuthenticator[T] AsyncAuthenticator<T>

authenticateBasicPF

Wraps the inner route with Http Basic authentication support using a given AuthenticatorPF[T] AuthenticatorPF<T>

authenticateBasicPFAsync

Wraps the inner route with Http Basic authentication support using a given AsyncAuthenticatorPF[T] AsyncAuthenticatorPF<T>

authenticateOAuth2

Wraps the inner route with OAuth Bearer Token authentication support using a given AuthenticatorPF[T] AuthenticatorPF<T>

authenticateOAuth2Async

Wraps the inner route with OAuth Bearer Token authentication support using a given AsyncAuthenticator[T] AsyncAuthenticator<T>

authenticateOAuth2PF

Wraps the inner route with OAuth Bearer Token authentication support using a given AuthenticatorPF[T] AuthenticatorPF<T>

authenticateOAuth2PFAsync

Wraps the inner route with OAuth Bearer Token authentication support using a given AsyncAuthenticatorPF[T] AsyncAuthenticatorPF<T>

authenticateOrRejectWithChallenge

Lifts an authenticator function into a directive

authorize

Applies the given authorization check to the request

authorizeAsync

Applies the given asynchronous authorization check to the request

cache

Wraps its inner Route with caching support using the given CacheCache implementation and the in-scope keyer function.

cachingProhibited

Passes only requests that explicitly forbid caching with a Cache-Control header with either a no-cache or max-age=0 setting.

cancelRejection

Adds a TransformationRejectionTransformationRejection cancelling all rejections equal to the given one to the rejections potentially coming back from the inner route.

cancelRejections

Adds a TransformationRejectionTransformationRejection cancelling all matching rejections to the rejections potentially coming back from the inner route

checkSameOrigin

Checks that the request comes from the same origin

complete

Completes the request using the given arguments

completeOrRecoverWith

“Unwraps” a Future[T] CompletionStage<T> and runs the inner route when the future has failed with the error as an extraction of type Throwable

completeWith

Uses the marshaller for a given type to extract a completion function

conditional

Wraps its inner route with support for conditional requests as defined by RFC 7232

cookie

Extracts the HttpCookieHttpCookie with the given name

cors

Wrapps its inner route with CORS handling

decodeRequest

Decompresses the request if it is gzip or deflate compressed

decodeRequestWith

Decodes the incoming request using one of the given decoders

delete

Rejects all non-DELETE requests

deleteCookie

Adds a Set-Cookie response header expiring the given cookies

encodeResponse

Encodes the response with the encoding that is requested by the client via the Accept-Encoding header (NoCoding, Gzip and Deflate)

encodeResponseWith

Encodes the response with the encoding that is requested by the client via the Accept-Encoding header (from a user-defined set)

entity

Extracts the request entity unmarshalled to a given type

extract

Extracts a single value using a RequestContext => T Function<RequestContext, T> function

extractDataBytes

Extracts the entities data bytes as a stream Source<ByteString, ?>Source[ByteString, _]

extractClient

Extracts the client’s IP from either the X-Forwarded-, Remote-Address or X-Real-IP header

extractClientCertificate

Extracts the client cert for an mTLS request

extractClientIP

Extracts the client’s IP from either the X-Forwarded-, Remote-Address or X-Real-IP header

extractCredentials

Extracts the potentially present HttpCredentialsHttpCredentials provided with the request’s AuthorizationAuthorization header

extractExecutionContext

Extracts the ExecutionContext from the RequestContextRequestContext

extractMatchedPath

Extracts the already matched path from the RequestContextRequestContext

extractMaterializer

Extracts the MaterializerMaterializer from the RequestContextRequestContext

extractHost

Extracts the hostname part of the Host request header value

extractLog

Extracts the LoggingAdapterLoggingAdapter from the RequestContextRequestContext

extractMethod

Extracts the request method

extractOfferedWsProtocols

Extract the list of websocket subprotocols offered by the client in the Sec-WebSocket-Protocol header if this is a websocket request and otherwise rejects with an ExpectedWebSocketRequestRejectionExpectedWebSocketRequestRejection

extractParserSettings

Extracts the ParserSettingsParserSettings from the RequestContextRequestContext

extractRequest

Extracts the current HttpRequestHttpRequest instance

extractRequestContext

Extracts the RequestContextRequestContext itself

extractRequestEntity

Extracts the RequestEntityRequestEntity from the RequestContextRequestContext

extractScheme

Extracts the URI scheme from the request

extractSettings

Extracts the RoutingSettingsRoutingSettings from the RequestContextRequestContext

extractSslSession

Extracts the SSL session for a HTTPS request

extractUnmatchedPath

Extracts the yet unmatched path from the RequestContextRequestContext

extractUpgradeToWebSocket

Extract the UpgradeToWebSocketUpgradeToWebSocket header if existent and otherwise rejects with an ExpectedWebSocketRequestRejectionExpectedWebSocketRequestRejection

extractUri

Extracts the complete request URI

failWith

Bubbles the given error up the response chain where it is dealt with by the closest handleExceptions directive and its ExceptionHandlerExceptionHandler

fileUpload

Provides a stream of an uploaded file from a multipart request

fileUploadAll

Provides streams of all uploaded files from a multipart request

formField

Extracts an HTTP form field (of Content-Type application/x-www-form-urlencoded or multipart/form-data) from the request

formFieldMap

Extracts a number of HTTP form field (of Content-Type application/x-www-form-urlencoded or multipart/form-data) from the request as a Map[String, String] Map<String, String>

formFieldMultiMap

Extracts a number of HTTP form field (of Content-Type application/x-www-form-urlencoded or multipart/form-data) from the request as a Map[String, List[String]] Map<String, List<String>>

formFields

Extracts a number of HTTP form field (of Content-Type application/x-www-form-urlencoded or multipart/form-data) from the request

formFieldSeq

Extracts a number of HTTP form field (of Content-Type application/x-www-form-urlencoded or multipart/form-data) from the request as a Seq[(String, String)] List<Map.Entry<String, String>>

get

Rejects all non-GET requests

getFromBrowseableDirectories

Serves the content of the given directories as a file-system browser, i.e. files are sent and directories served as browseable listings

getFromBrowseableDirectory

Serves the content of the given directory as a file-system browser, i.e. files are sent and directories served as browseable listings

getFromDirectory

Completes GET requests with the content of a file underneath a given file-system directory

getFromFile

Completes GET requests with the content of a given file

getFromResource

Completes GET requests with the content of a given class-path resource

getFromResourceDirectory

Completes GET requests with the content of a file underneath a given “class-path resource directory”

handleExceptions

Transforms exceptions thrown during evaluation of the inner route using the given ExceptionHandlerExceptionHandler

handleRejections

Transforms rejections produced by the inner route using the given RejectionHandler

handleWebSocketMessages

Handles websocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejectionExpectedWebSocketRequestRejection

handleWebSocketMessagesForOptionalProtocol

Handles websocket requests with the given handler if the subprotocol matches and rejects other requests. If the subprotocol parameter is Noneempty any WebSocket request is accepted..

handleWebSocketMessagesForProtocol

Handles websocket requests with the given handler if the subprotocol matches and rejects other requests with an ExpectedWebSocketRequestRejectionExpectedWebSocketRequestRejection or an UnsupportedWebSocketSubprotocolRejectionUnsupportedWebSocketSubprotocolRejection.

handleWith

Completes the request using a given function

head

Rejects all non-HEAD requests

headerValue

Extracts an HTTP header value using a given HttpHeader => Option[T] Function<HttpHeader, Optional<T>> function

headerValueByName

Extracts the value of the first HTTP request header with a given name

headerValueByType

Extracts the first HTTP request header of the given type

headerValuePF

Extracts an HTTP header value using a given PartialFunction[HttpHeader, T]] PartialFunction<HttpHeader, T>

host

Rejects all requests with a non-matching host name

ignoreTrailingSlash

Retries the inner route adding (or removing) the trailing slash in case of empty rejections

jwt

Validates a JSON Web Token (JWT) from a request and extracts its claims for further processing

listDirectoryContents

Completes GET requests with a unified listing of the contents of all given file-system directories

logRequest

Produces a log entry for every incoming request

logRequestResult

Produces a log entry for every incoming request and RouteResultRouteResult

logResult

Produces a log entry for every RouteResultRouteResult

mapInnerRoute

Transforms its inner RouteRoute with a Route => Route UnaryOperator<Route> function

mapRejections

Transforms rejections from a previous route with an immutable.Seq[Rejection] => immutable.Seq[Rejection] UnaryOperator<List<Rejection>> function

mapRequest

Transforms the request with an HttpRequest => HttpRequest UnaryOperator<HttpRequest> function

mapRequestContext

Transforms the RequestContextRequestContext with a RequestContext => RequestContext UnaryOperator<RequestContext> function

mapResponse

Transforms the response with an HttpResponse => HttpResponse UnaryOperator<HttpResponse> function

mapResponseEntity

Transforms the response entity with an ResponseEntity => ResponseEntity UnaryOperator<ResponseEntity> function

mapResponseHeaders

Transforms the response headers with an immutable.Seq[HttpHeader] => immutable.Seq[HttpHeader] UnaryOperator<List<HttpHeader>> function

mapRouteResult

Transforms the RouteResultRouteResult with a RouteResult => RouteResult UnaryOperator<RouteResult> function

mapRouteResultFuture

Transforms the RouteResultRouteResult future with a Future[RouteResult] => Future[RouteResult] UnaryOperator<CompletionStage<RouteResult>> function

mapRouteResultPF

Transforms the RouteResultRouteResult with a PartialFunction[RouteResult, RouteResult] PartialFunction<RouteResult, RouteResult>

mapRouteResultWith

Transforms the RouteResultRouteResult with a RouteResult => Future[RouteResult] Function<RouteResult, CompletionStage<RouteResult>> function

mapRouteResultWithPF

Transforms the RouteResultRouteResult with a PartialFunction[RouteResult, Future[RouteResult]] PartialFunction<RouteResult, CompletionStage<RouteResult>>

mapSettings

Transforms the RoutingSettingsRoutingSettings with a RoutingSettings => RoutingSettings UnaryOperator<RoutingSettings> function

mapUnmatchedPath

Transforms the unmatchedPath of the RequestContextRequestContext using a Uri.Path => Uri.Path UnaryOperator<Uri.Path> function

method

Rejects all requests whose HTTP method does not match the given one

onComplete

“Unwraps” a Future[T] CompletionStage<T> and runs the inner route after future completion with the future’s value as an extraction of type Try[T] Try<T>

onCompleteWithBreaker

“Unwraps” a Future[T] CompletionStage<T> inside a CircuitBreakerCircuitBreaker and runs the inner route after future completion with the future’s value as an extraction of type Try[T] Try<T>

onSuccess

“Unwraps” a Future[T] CompletionStage<T> and runs the inner route after future completion with the future’s value as an extraction of type T

optionalAttribute

Extracts the value of an optional request attribute with a given key

optionalCookie

Extracts the HttpCookiePairHttpCookiePair with the given name as an Option[HttpCookiePair] Optional<HttpCookiePair>

optionalHeaderValue

Extracts an optional HTTP header value using a given HttpHeader => Option[T] Function<HttpHeader, Optional<T>> function

optionalHeaderValueByName

Extracts the value of the first optional HTTP request header with a given name

optionalHeaderValueByType

Extracts the first optional HTTP request header of the given type

optionalHeaderValuePF

Extracts an optional HTTP header value using a given PartialFunction[HttpHeader, T] PartialFunction<HttpHeader, T>

options

Rejects all non-OPTIONS requests

overrideMethodWithParameter

Changes the request method to the value of the specified query parameter

parameter

Extracts a query parameter value from the request

parameterMap

Extracts the request’s query parameters as a Map[String, String] Map<String, String>

parameterMultiMap

Extracts the request’s query parameters as a Map[String, List[String]] Map<String, List<String>>

parameters

Extracts a number of query parameter values from the request

parameterSeq

Extracts the request’s query parameters as a Seq[(String, String)] List<Map.Entry<String, String>>

pass

Always simply passes the request on to its inner route, i.e. doesn’t do anything, neither with the request nor the response

patch

Rejects all non-PATCH requests

path

Applies the given PathMatcher to the remaining unmatched path after consuming a leading slash

pathEnd

Only passes on the request to its inner route if the request path has been matched completely

pathEndOrSingleSlash

Only passes on the request to its inner route if the request path has been matched completely or only consists of exactly one remaining slash

pathPrefix

Applies the given PathMatcher to a prefix of the remaining unmatched path after consuming a leading slash

pathPrefixTest

Checks whether the unmatchedPath has a prefix matched by the given PathMatcher after implicitly consuming a leading slash

pathSingleSlash

Only passes on the request to its inner route if the request path consists of exactly one remaining slash

pathSuffix

Applies the given PathMatcher to a suffix of the remaining unmatched path (Caution: check scaladocjava!)

pathSuffixTest

Checks whether the unmatched path has a suffix matched by the given PathMatcher (Caution: check scaladocjava!)

post

Rejects all non-POST requests

provide

Injects a given value into a directive

put

Rejects all non-PUT requests

rawPathPrefix

Applies the given matcher directly to a prefix of the unmatched path of the RequestContextRequestContext, without implicitly consuming a leading slash

rawPathPrefixTest

Checks whether the unmatchedPath has a prefix matched by the given PathMatcher

recoverRejections

Transforms rejections from the inner route with an immutable.Seq[Rejection] => RouteResult Function<List<Rejection>, RouteResult> function

recoverRejectionsWith

Transforms rejections from the inner route with an immutable.Seq[Rejection] => Future[RouteResult] Function<List<Rejection], CompletionStage<RouteResult>> function

redirect

Completes the request with redirection response of the given type to the given URI

redirectToNoTrailingSlashIfPresent

If the request path ends with a slash, redirects to the same URI without trailing slash in the path

redirectToTrailingSlashIfMissing

If the request path doesn’t end with a slash, redirects to the same URI with trailing slash in the path

reject

Rejects the request with the given rejections

rejectEmptyResponse

Converts responses with an empty entity into (empty) rejections

requestEncodedWith

Rejects the request with an UnsupportedRequestEncodingRejectionUnsupportedRequestEncodingRejection if its encoding doesn’t match the given one

requestEntityEmpty

Rejects if the request entity is non-empty

requestEntityPresent

Rejects with a RequestEntityExpectedRejectionRequestEntityExpectedRejection if the request entity is empty

requireClientCertificateIdentity

Reject mTLS requests that does not have a client certificate identity matching a regular expression

respondWithDefaultHeader

Adds a given response header if the response doesn’t already contain a header with the same name

respondWithDefaultHeaders

Adds the subset of the given headers to the response which doesn’t already have a header with the respective name present in the response

respondWithHeader

Unconditionally adds a given header to the outgoing response

respondWithHeaders

Unconditionally adds the given headers to the outgoing response

responseEncodingAccepted

Rejects the request with an UnacceptedResponseEncodingRejectionUnacceptedResponseEncodingRejection if the given response encoding is not accepted by the client

scheme

Rejects all requests whose URI scheme doesn’t match the given one

selectPreferredLanguage

Inspects the request’s Accept-Language header and determines, which of a given set of language alternatives is preferred by the client

setCookie

Adds a Set-Cookie response header with the given cookies

storeUploadedFile

Streams one uploaded file from a multipart request to a file on disk

storeUploadedFiles

Streams all uploaded files from a multipart request to files on disk

textract

Extracts a number of values using a RequestContext => Tuple function

tprovide

Injects a given tuple of values into a directive

validate

Checks a given condition before running its inner route

withoutRequestTimeout

Disables request timeouts for a given route.

withoutSizeLimit

Skips request entity size check

withExecutionContext

Runs its inner route with the given alternative ExecutionContext

withLog

Runs its inner route with the given alternative LoggingAdapterLoggingAdapter

withMaterializer

Runs its inner route with the given alternative MaterializerMaterializer

withPrecompressedMediaTypeSupport

Adds a Content-Encoding: gzip response header if the entity’s media-type is precompressed with gzip header

withRangeSupport

Adds Accept-Ranges: bytes to responses to GET requests, produces partial responses if the initial request contained a valid Range header

withRequestTimeout

Configures the request timeouts for a given route.

withRequestTimeoutResponse

Prepares the HttpResponseHttpResponse that is emitted if a request timeout is triggered. RequestContext => RequestContext function

withSettings

Runs its inner route with the given alternative RoutingSettingsRoutingSettings

withSizeLimit

Applies request entity size check