Predefined Directives (alphabetically)
Directive | Description |
---|---|
alwaysCache | Wraps its inner Route with caching support using the given Cache Cache 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 Cache Cache 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 TransformationRejection TransformationRejection cancelling all rejections equal to the given one to the rejections potentially coming back from the inner route. |
cancelRejections | Adds a TransformationRejection TransformationRejection 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 HttpCookie HttpCookie with the given name |
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, _] |
extractClientIP | Extracts the client’s IP from either the X-Forwarded- , Remote-Address or X-Real-IP header |
extractCredentials | Extracts the potentially present HttpCredentials HttpCredentials provided with the request’s Authorization Authorization header |
extractExecutionContext | Extracts the ExecutionContext from the RequestContext RequestContext |
extractMatchedPath | Extracts the already matched path from the RequestContext RequestContext |
extractMaterializer | Extracts the Materializer Materializer from the RequestContext RequestContext |
extractHost | Extracts the hostname part of the Host request header value |
extractLog | Extracts the LoggingAdapter LoggingAdapter from the RequestContext RequestContext |
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 ExpectedWebSocketRequestRejection ExpectedWebSocketRequestRejection |
extractParserSettings | Extracts the ParserSettings ParserSettings from the RequestContext RequestContext |
extractRequest | Extracts the current HttpRequest HttpRequest instance |
extractRequestContext | Extracts the RequestContext RequestContext itself |
extractRequestEntity | Extracts the RequestEntity RequestEntity from the RequestContext RequestContext |
extractScheme | Extracts the URI scheme from the request |
extractSettings | Extracts the RoutingSettings RoutingSettings from the RequestContext RequestContext |
extractUnmatchedPath | Extracts the yet unmatched path from the RequestContext RequestContext |
extractUpgradeToWebSocket | Extract the UpgradeToWebSocket UpgradeToWebSocket header if existent and otherwise rejects with an ExpectedWebSocketRequestRejection ExpectedWebSocketRequestRejection |
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 ExceptionHandler ExceptionHandler |
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 ExceptionHandler ExceptionHandler |
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 ExpectedWebSocketRequestRejection ExpectedWebSocketRequestRejection |
handleWebSocketMessagesForOptionalProtocol | Handles websocket requests with the given handler if the subprotocol matches and rejects other requests. If the subprotocol parameter is None empty any WebSocket request is accepted.. |
handleWebSocketMessagesForProtocol | Handles websocket requests with the given handler if the subprotocol matches and rejects other requests with an ExpectedWebSocketRequestRejection ExpectedWebSocketRequestRejection or an UnsupportedWebSocketSubprotocolRejection UnsupportedWebSocketSubprotocolRejection . |
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 |
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 RouteResult RouteResult |
logResult | Produces a log entry for every RouteResult RouteResult |
mapInnerRoute | Transforms its inner Route Route 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 RequestContext RequestContext 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 RouteResult RouteResult with a RouteResult => RouteResult UnaryOperator<RouteResult> function |
mapRouteResultFuture | Transforms the RouteResult RouteResult future with a Future[RouteResult] => Future[RouteResult] UnaryOperator<CompletionStage<RouteResult>> function |
mapRouteResultPF | Transforms the RouteResult RouteResult with a PartialFunction[RouteResult, RouteResult] PartialFunction<RouteResult, RouteResult> |
mapRouteResultWith | Transforms the RouteResult RouteResult with a RouteResult => Future[RouteResult] Function<RouteResult, CompletionStage<RouteResult>> function |
mapRouteResultWithPF | Transforms the RouteResult RouteResult with a PartialFunction[RouteResult, Future[RouteResult]] PartialFunction<RouteResult, CompletionStage<RouteResult>> |
mapSettings | Transforms the RoutingSettings RoutingSettings with a RoutingSettings => RoutingSettings UnaryOperator<RoutingSettings> function |
mapUnmatchedPath | Transforms the unmatchedPath of the RequestContext RequestContext 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 CircuitBreaker CircuitBreaker 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 HttpCookiePair HttpCookiePair 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 RequestContext RequestContext , 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 UnsupportedRequestEncodingRejection UnsupportedRequestEncodingRejection if its encoding doesn’t match the given one |
requestEntityEmpty | Rejects if the request entity is non-empty |
requestEntityPresent | Rejects with a RequestEntityExpectedRejection RequestEntityExpectedRejection if the request entity is empty |
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 UnacceptedResponseEncodingRejection UnacceptedResponseEncodingRejection 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 LoggingAdapter LoggingAdapter |
withMaterializer | Runs its inner route with the given alternative Materializer Materializer |
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 HttpResponse HttpResponse that is emitted if a request timeout is triggered. RequestContext => RequestContext function |
withSettings | Runs its inner route with the given alternative RoutingSettings RoutingSettings |
withSizeLimit | Applies request entity size check |
1.0.1