Packages

c

akka.http.javadsl.testkit

JUnitRouteTestBase

abstract class JUnitRouteTestBase extends RouteTest

A RouteTest that uses JUnit assertions. ActorSystem and Materializer are provided as an org.junit.rules.ExternalResource and their lifetime is automatically managed.

Source
JUnitRouteTest.scala
Known Subclasses
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. JUnitRouteTestBase
  2. RouteTest
  3. WSTestRequestBuilding
  4. AllDirectives
  5. TlsDirectives
  6. CorsDirectives
  7. FramedEntityStreamingDirectives
  8. TimeoutDirectives
  9. WebSocketDirectives
  10. SecurityDirectives
  11. SchemeDirectives
  12. RouteDirectives
  13. RespondWithDirectives
  14. RangeDirectives
  15. PathDirectives
  16. ParameterDirectives
  17. MiscDirectives
  18. MethodDirectives
  19. MarshallingDirectives
  20. HostDirectives
  21. AttributeDirectives
  22. HeaderDirectives
  23. FutureDirectives
  24. FormFieldDirectives
  25. FileUploadDirectives
  26. FileAndResourceDirectives
  27. ExecutionDirectives
  28. DebuggingDirectives
  29. CookieDirectives
  30. CodingDirectives
  31. CacheConditionDirectives
  32. BasicDirectives
  33. AnyRef
  34. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

future

  1. def completeOrRecoverWith[T](f: Supplier[CompletionStage[T]], marshaller: Marshaller[T, RequestEntity], inner: Function[Throwable, Route]): Route

    "Unwraps" a CompletionStage<T> and runs the inner route when the stage has failed with the stage's failure exception as an extraction of type Throwable.

    "Unwraps" a CompletionStage<T> and runs the inner route when the stage has failed with the stage's failure exception as an extraction of type Throwable. If the completion stage succeeds the request is completed using the values marshaller (This directive therefore requires a marshaller for the completion stage value type to be provided.)

    Definition Classes
    FutureDirectives
  2. def onComplete[T](cs: CompletionStage[T], inner: Function[Try[T], Route]): RouteAdapter

    "Unwraps" a CompletionStage<T> and runs the inner route after future completion with the future's value as an extraction of type Try<T>.

    "Unwraps" a CompletionStage<T> and runs the inner route after future completion with the future's value as an extraction of type Try<T>.

    Definition Classes
    FutureDirectives
  3. def onComplete[T](f: Supplier[CompletionStage[T]], inner: Function[Try[T], Route]): RouteAdapter

    "Unwraps" a CompletionStage<T> and runs the inner route after future completion with the future's value as an extraction of type Try<T>.

    "Unwraps" a CompletionStage<T> and runs the inner route after future completion with the future's value as an extraction of type Try<T>.

    Definition Classes
    FutureDirectives
  4. def onCompleteWithBreaker[T](breaker: CircuitBreaker, f: Supplier[CompletionStage[T]], inner: Function[Try[T], Route]): RouteAdapter

    "Unwraps" a CompletionStage[T] and runs the inner route after future completion with the future's value as an extraction of type T if the supplied CircuitBreaker is closed.

    "Unwraps" a CompletionStage[T] and runs the inner route after future completion with the future's value as an extraction of type T if the supplied CircuitBreaker is closed.

    If the supplied CircuitBreaker is open the request is rejected with a akka.http.javadsl.server.CircuitBreakerOpenRejection.

    Definition Classes
    FutureDirectives
  5. def onSuccess[T](cs: CompletionStage[T], inner: Function[T, Route]): RouteAdapter

    "Unwraps" a CompletionStage<T> and runs the inner route after stage completion with the stage's value as an extraction of type T.

    "Unwraps" a CompletionStage<T> and runs the inner route after stage completion with the stage's value as an extraction of type T. If the stage fails its failure Throwable is bubbled up to the nearest ExceptionHandler.

    Definition Classes
    FutureDirectives
  6. def onSuccess[T](f: Supplier[CompletionStage[T]], inner: Function[T, Route]): RouteAdapter

    "Unwraps" a CompletionStage<T> and runs the inner route after stage completion with the stage's value as an extraction of type T.

    "Unwraps" a CompletionStage<T> and runs the inner route after stage completion with the stage's value as an extraction of type T. If the stage fails its failure Throwable is bubbled up to the nearest ExceptionHandler.

    Definition Classes
    FutureDirectives

header

  1. def checkSameOrigin(allowed: HttpOriginRange, inner: Supplier[Route]): Route

    Checks that request comes from the same origin.

    Checks that request comes from the same origin. Extracts the Origin header value and verifies that allowed range contains the obtained value. In the case of absent of the Origin header rejects with MissingHeaderRejection. If the origin value is not in the allowed range rejects with an InvalidOriginRejection and StatusCodes.FORBIDDEN status.

    Definition Classes
    HeaderDirectives

Ungrouped

  1. def WS[T](uri: Uri, clientSideHandler: Flow[Message, Message, T], materializer: Materializer, subprotocols: List[String]): HttpRequest
    Definition Classes
    WSTestRequestBuilding
  2. def WS[T](uri: Uri, clientSideHandler: Flow[Message, Message, T], materializer: Materializer): HttpRequest
    Definition Classes
    WSTestRequestBuilding
  3. def attribute[T](key: AttributeKey[T], inner: Function[T, Route]): RouteAdapter

    Extracts the value of the request attribute with the given key.

    Extracts the value of the request attribute with the given key. If no attribute is found the request is rejected with a akka.http.javadsl.server.MissingAttributeRejection.

    Definition Classes
    AttributeDirectives
  4. def authenticateBasic[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], Optional[T]], inner: Function[T, Route]): Route

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

    Wraps the inner route with Http Basic authentication support using a given Authenticator[T]. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is required in this variant, i.e. the request is rejected if [authenticator] returns Optional.empty.

    Definition Classes
    SecurityDirectives
  5. def authenticateBasicAsync[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], CompletionStage[Optional[T]]], inner: Function[T, Route]): Route

    Wraps the inner route with Http Basic authentication support.

    Wraps the inner route with Http Basic authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is required in this variant, i.e. the request is rejected if [authenticator] returns Optional.empty.

    Definition Classes
    SecurityDirectives
  6. def authenticateBasicAsyncOptional[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], CompletionStage[Optional[T]]], inner: Function[Optional[T], Route]): Route

    Wraps the inner route with Http Basic authentication support.

    Wraps the inner route with Http Basic authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is optional in this variant.

    Definition Classes
    SecurityDirectives
    Annotations
    @CorrespondsTo()
  7. def authenticateBasicOptional[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], Optional[T]], inner: Function[Optional[T], Route]): Route

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

    Wraps the inner route with Http Basic authentication support using a given Authenticator[T]. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is optional in this variant.

    Definition Classes
    SecurityDirectives
    Annotations
    @CorrespondsTo()
  8. def authenticateBasicPF[T](realm: String, authenticator: PartialFunction[Optional[ProvidedCredentials], T], inner: Function[T, Route]): Route

    Wraps the inner route with Http Basic authentication support.

    Wraps the inner route with Http Basic authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is required in this variant, i.e. the request is rejected if [authenticator] returns Optional.empty.

    Definition Classes
    SecurityDirectives
  9. def authenticateBasicPFAsync[T](realm: String, authenticator: PartialFunction[Optional[ProvidedCredentials], CompletionStage[T]], inner: Function[T, Route]): Route

    Wraps the inner route with Http Basic authentication support.

    Wraps the inner route with Http Basic authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is required in this variant, i.e. the request is rejected if [authenticator] returns Optional.empty.

    Definition Classes
    SecurityDirectives
  10. def authenticateOAuth2[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], Optional[T]], inner: Function[T, Route]): Route

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support.

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is required in this variant, i.e. the request is rejected if [authenticator] returns Optional.empty.

    Definition Classes
    SecurityDirectives
  11. def authenticateOAuth2Async[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], CompletionStage[Optional[T]]], inner: Function[T, Route]): Route

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support.

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is required in this variant, i.e. the request is rejected if [authenticator] returns Optional.empty.

    Definition Classes
    SecurityDirectives
  12. def authenticateOAuth2AsyncOptional[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], CompletionStage[Optional[T]]], inner: Function[Optional[T], Route]): Route

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support.

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is optional in this variant.

    Definition Classes
    SecurityDirectives
    Annotations
    @CorrespondsTo()
  13. def authenticateOAuth2Optional[T](realm: String, authenticator: Function[Optional[ProvidedCredentials], Optional[T]], inner: Function[Optional[T], Route]): Route

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support.

    A directive that wraps the inner route with OAuth2 Bearer Token authentication support. The given authenticator determines whether the credentials in the request are valid and, if so, which user object to supply to the inner route.

    Authentication is optional in this variant.

    Definition Classes
    SecurityDirectives
    Annotations
    @CorrespondsTo()
  14. def authenticateOrRejectWithChallenge[C <: HttpCredentials, T](c: Class[C], authenticator: Function[Optional[C], CompletionStage[Either[HttpChallenge, T]]], inner: Function[T, Route]): Route

    Lifts an authenticator function into a directive.

    Lifts an authenticator function into a directive. Same as authenticateOrRejectWithChallenge but only applies the authenticator function with a certain type of credentials.

    Definition Classes
    SecurityDirectives
  15. def authenticateOrRejectWithChallenge[T](authenticator: Function[Optional[HttpCredentials], CompletionStage[Either[HttpChallenge, T]]], inner: Function[T, Route]): Route

    Lifts an authenticator function into a directive.

    Lifts an authenticator function into a directive. The authenticator function gets passed in credentials from the akka.http.javadsl.model.headers.Authorization header of the request. If the function returns Right(user) the user object is provided to the inner route. If the function returns Left(challenge) the request is rejected with an akka.http.javadsl.server.AuthenticationFailedRejection that contains this challenge to be added to the response.

    Definition Classes
    SecurityDirectives
  16. def authorize(check: Supplier[Boolean], inner: Supplier[Route]): Route

    Applies the given authorization check to the request.

    Applies the given authorization check to the request. If the check fails the route is rejected with an akka.http.javadsl.server.AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
  17. def authorizeAsync(check: Supplier[CompletionStage[Boolean]], inner: Supplier[Route]): Route

    Applies the given authorization check to the request.

    Applies the given authorization check to the request. If the check fails the route is rejected with an akka.http.javadsl.server.AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
  18. def authorizeAsyncWithRequestContext(check: Function[RequestContext, CompletionStage[Boolean]], inner: Supplier[Route]): Route

    Asynchronous version of authorize.

    Asynchronous version of authorize. If the CompletionStage fails or is completed with false authorization fails and the route is rejected with an akka.http.javadsl.server.AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
    Annotations
    @CorrespondsTo()
  19. def authorizeWithRequestContext(check: Function[RequestContext, Boolean], inner: Supplier[Route]): Route

    Applies the given authorization check to the request.

    Applies the given authorization check to the request. If the check fails the route is rejected with an akka.http.javadsl.server.AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
    Annotations
    @CorrespondsTo()
  20. def cancelRejection(rejection: Rejection, inner: Supplier[Route]): Route

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

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

    Definition Classes
    BasicDirectives
  21. def cancelRejections(filter: Predicate[Rejection], inner: Supplier[Route]): Route

    Adds a TransformationRejection cancelling all rejections for which the given filter function returns true to the list of rejections potentially coming back from the inner route.

    Adds a TransformationRejection cancelling all rejections for which the given filter function returns true to the list of rejections potentially coming back from the inner route.

    Definition Classes
    BasicDirectives
  22. def cancelRejections(classes: Iterable[Class[_]], inner: Supplier[Route]): Route

    Adds a TransformationRejection cancelling all rejections of one of the given classes to the list of rejections potentially coming back from the inner route.

    Adds a TransformationRejection cancelling all rejections of one of the given classes to the list of rejections potentially coming back from the inner route.

    Definition Classes
    BasicDirectives
  23. def complete(entity: RequestEntity): RouteAdapter

    Completes the request as HTTP 200 OK with the given value as response entity.

    Completes the request as HTTP 200 OK with the given value as response entity.

    Definition Classes
    RouteDirectives
  24. def complete(entity: ResponseEntity): RouteAdapter

    Completes the request as HTTP 200 OK with the given value as response entity.

    Completes the request as HTTP 200 OK with the given value as response entity.

    Definition Classes
    RouteDirectives
  25. def complete(headers: Iterable[HttpHeader], entity: RequestEntity): RouteAdapter

    Completes the request as HTTP 200 OK, adding the given headers and response entity.

    Completes the request as HTTP 200 OK, adding the given headers and response entity.

    Definition Classes
    RouteDirectives
  26. def complete(headers: Iterable[HttpHeader], entity: ResponseEntity): RouteAdapter

    Completes the request as HTTP 200 OK, adding the given headers and response entity.

    Completes the request as HTTP 200 OK, adding the given headers and response entity.

    Definition Classes
    RouteDirectives
  27. def complete[T](headers: Iterable[HttpHeader], value: T, marshaller: Marshaller[T, RequestEntity]): RouteAdapter

    Completes the request as HTTP 200 OK, adding the given headers, and marshalling the given value as response entity.

    Completes the request as HTTP 200 OK, adding the given headers, and marshalling the given value as response entity.

    Definition Classes
    RouteDirectives
  28. def complete(status: StatusCode, entity: String): RouteAdapter

    Completes the request using the given status code and the given body as UTF-8.

    Completes the request using the given status code and the given body as UTF-8.

    Definition Classes
    RouteDirectives
  29. def complete(status: StatusCode, entity: RequestEntity): RouteAdapter

    Completes the request using the given status code and response entity.

    Completes the request using the given status code and response entity.

    Definition Classes
    RouteDirectives
  30. def complete(status: StatusCode, entity: ResponseEntity): RouteAdapter

    Completes the request using the given status code and response entity.

    Completes the request using the given status code and response entity.

    Definition Classes
    RouteDirectives
  31. def complete[T](status: StatusCode, value: T, marshaller: Marshaller[T, RequestEntity]): RouteAdapter

    Completes the request using the given status code, marshalling the given value as response entity.

    Completes the request using the given status code, marshalling the given value as response entity.

    Definition Classes
    RouteDirectives
  32. def complete(status: StatusCode, headers: Iterable[HttpHeader], entity: RequestEntity): RouteAdapter

    Completes the request using the given status code, headers, and response entity.

    Completes the request using the given status code, headers, and response entity.

    Definition Classes
    RouteDirectives
  33. def complete(status: StatusCode, headers: Iterable[HttpHeader], entity: ResponseEntity): RouteAdapter

    Completes the request using the given status code, headers, and response entity.

    Completes the request using the given status code, headers, and response entity.

    Definition Classes
    RouteDirectives
  34. def complete[T](status: StatusCode, headers: Iterable[HttpHeader], value: T, marshaller: Marshaller[T, RequestEntity]): RouteAdapter

    Completes the request using the given status code and headers, marshalling the given value as response entity.

    Completes the request using the given status code and headers, marshalling the given value as response entity.

    Definition Classes
    RouteDirectives
  35. def complete[T](value: T, marshaller: Marshaller[T, HttpResponse]): RouteAdapter

    Completes the request by marshalling the given value into an http response.

    Completes the request by marshalling the given value into an http response.

    Definition Classes
    RouteDirectives
  36. def complete(status: StatusCode): Route

    Completes the request using the given status code.

    Completes the request using the given status code.

    Definition Classes
    RouteDirectives
  37. def complete(response: HttpResponse): Route

    Completes the request using the given http response.

    Completes the request using the given http response.

    Definition Classes
    RouteDirectives
  38. def complete(body: String): Route

    Completes the request using an HTTP 200 OK status code and the given body as UTF-8 entity.

    Completes the request using an HTTP 200 OK status code and the given body as UTF-8 entity.

    Definition Classes
    RouteDirectives
  39. def completeOK[T](value: T, marshaller: Marshaller[T, RequestEntity]): RouteAdapter

    Completes the request as HTTP 200 OK, marshalling the given value as response entity.

    Completes the request as HTTP 200 OK, marshalling the given value as response entity.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  40. def completeOKWithFuture[T](value: CompletionStage[T], marshaller: Marshaller[T, RequestEntity]): RouteAdapter

    Completes the request with an OK status code by marshalling the given value into an http response.

    Completes the request with an OK status code by marshalling the given value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  41. def completeOKWithFuture(value: CompletionStage[RequestEntity]): RouteAdapter

    Completes the request by marshalling the given future value into an http response.

    Completes the request by marshalling the given future value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  42. def completeOKWithFuture[T](value: Future[T], marshaller: Marshaller[T, RequestEntity]): RouteAdapter

    Completes the request by marshalling the given value into an http response.

    Completes the request by marshalling the given value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  43. def completeOKWithFutureString(value: CompletionStage[String]): RouteAdapter

    Completes the request by marshalling the given future value into an http response.

    Completes the request by marshalling the given future value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  44. def completeOKWithFutureString(value: Future[String]): RouteAdapter

    Completes the request by marshalling the given future value into an http response.

    Completes the request by marshalling the given future value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  45. def completeOKWithSource[T, M](source: Source[T, M])(implicit m: Marshaller[T, RequestEntity], support: EntityStreamingSupport): Route
    Definition Classes
    FramedEntityStreamingDirectives
    Annotations
    @CorrespondsTo()
  46. def completeWith[T](marshaller: Marshaller[T, _ <: HttpResponse], inner: Consumer[Consumer[T]]): Route

    Uses the marshaller for the given type to produce a completion function that is passed to its inner function.

    Uses the marshaller for the given type to produce a completion function that is passed to its inner function. You can use it do decouple marshaller resolution from request completion.

    Definition Classes
    MarshallingDirectives
  47. def completeWithFuture[T](value: CompletionStage[T], marshaller: Marshaller[T, HttpResponse]): RouteAdapter

    Completes the request by marshalling the given value into an http response.

    Completes the request by marshalling the given value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  48. def completeWithFuture(value: CompletionStage[HttpResponse]): RouteAdapter

    Completes the request by marshalling the given future value into an http response.

    Completes the request by marshalling the given future value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  49. def completeWithFuture[T](value: Future[T], marshaller: Marshaller[T, HttpResponse]): RouteAdapter

    Completes the request by marshalling the given value into an http response.

    Completes the request by marshalling the given value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  50. def completeWithFutureResponse(value: Future[HttpResponse]): RouteAdapter

    Completes the request by marshalling the given future value into an http response.

    Completes the request by marshalling the given future value into an http response.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  51. def completeWithFutureStatus(status: CompletionStage[StatusCode]): Route

    Completes the request using the given future status code.

    Completes the request using the given future status code.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  52. def completeWithFutureStatus(status: Future[StatusCode]): Route

    Completes the request using the given future status code.

    Completes the request using the given future status code.

    Definition Classes
    RouteDirectives
    Annotations
    @CorrespondsTo()
  53. def completeWithSource[T, M](source: Source[T, M])(implicit m: Marshaller[T, ByteString], support: EntityStreamingSupport): Route
    Definition Classes
    FramedEntityStreamingDirectives
    Annotations
    @CorrespondsTo()
  54. def concat(first: Route, alternatives: Route*): Route

    Used to chain multiple alternate routes using comma, rather than having to explicitly call route1.orElse(route2).orElse(route3).

    Used to chain multiple alternate routes using comma, rather than having to explicitly call route1.orElse(route2).orElse(route3).

    Definition Classes
    RouteDirectives
    Annotations
    @varargs()
  55. def conditional(eTag: Optional[EntityTag], lastModified: Optional[DateTime], inner: Supplier[Route]): Route

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    In particular the algorithm defined by http://tools.ietf.org/html/rfc7232#section-6 is implemented by this directive.

    Note: if you want to combine this directive with withRangeSupport(...) you need to put it on the *outside* of the withRangeSupport(...) directive, i.e. withRangeSupport(...) must be on a deeper level in your route structure in order to function correctly.

    Definition Classes
    CacheConditionDirectives
  56. def conditional(eTag: EntityTag, lastModified: DateTime, inner: Supplier[Route]): Route

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    In particular the algorithm defined by http://tools.ietf.org/html/rfc7232#section-6 is implemented by this directive.

    Note: if you want to combine this directive with withRangeSupport(...) you need to put it on the *outside* of the withRangeSupport(...) directive, i.e. withRangeSupport(...) must be on a deeper level in your route structure in order to function correctly.

    Definition Classes
    CacheConditionDirectives
  57. def conditional(lastModified: DateTime, inner: Supplier[Route]): Route

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    In particular the algorithm defined by http://tools.ietf.org/html/rfc7232#section-6 is implemented by this directive.

    Note: if you want to combine this directive with withRangeSupport(...) you need to put it on the *outside* of the withRangeSupport(...) directive, i.e. withRangeSupport(...) must be on a deeper level in your route structure in order to function correctly.

    Definition Classes
    CacheConditionDirectives
  58. def conditional(eTag: EntityTag, inner: Supplier[Route]): Route

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    Wraps its inner route with support for Conditional Requests as defined by http://tools.ietf.org/html/rfc7232

    In particular the algorithm defined by http://tools.ietf.org/html/rfc7232#section-6 is implemented by this directive.

    Note: if you want to combine this directive with withRangeSupport(...) you need to put it on the *outside* of the withRangeSupport(...) directive, i.e. withRangeSupport(...) must be on a deeper level in your route structure in order to function correctly.

    Definition Classes
    CacheConditionDirectives
  59. def cookie(name: String, inner: Function[HttpCookiePair, Route]): Route

    Extracts the HttpCookiePair with the given name.

    Extracts the HttpCookiePair with the given name. If the cookie is not present the request is rejected with a respective akka.http.javadsl.server.MissingCookieRejection.

    Definition Classes
    CookieDirectives
  60. def cors(settings: CorsSettings, inner: Supplier[Route]): Route

    Wraps its inner route with support for the CORS mechanism, enabling cross origin requests using the given cors settings.

    Wraps its inner route with support for the CORS mechanism, enabling cross origin requests using the given cors settings.

    Definition Classes
    CorsDirectives
  61. def cors(inner: Supplier[Route]): Route

    Wraps its inner route with support for the CORS mechanism, enabling cross origin requests.

    Wraps its inner route with support for the CORS mechanism, enabling cross origin requests.

    The settings are loaded from the Actor System configuration.

    Definition Classes
    CorsDirectives
  62. def decodeRequest(inner: Supplier[Route]): Route

    Decompresses the incoming request if it is gzip or deflate compressed.

    Decompresses the incoming request if it is gzip or deflate compressed. Uncompressed requests are passed through untouched. If the request encoded with another encoding the request is rejected with an UnsupportedRequestEncodingRejection.

    Definition Classes
    CodingDirectives
  63. def decodeRequestWith(coders: Iterable[Coder], inner: Supplier[Route]): Route

    Decodes the incoming request if it is encoded with one of the given encoders.

    Decodes the incoming request if it is encoded with one of the given encoders. If the request encoding doesn't match one of the given encoders the request is rejected with an UnsupportedRequestEncodingRejection. If no decoders are given the default encoders (Gzip, Deflate, NoCoding) are used.

    Definition Classes
    CodingDirectives
  64. def decodeRequestWith(coder: Coder, inner: Supplier[Route]): Route

    Decodes the incoming request using the given Decoder.

    Decodes the incoming request using the given Decoder. If the request encoding doesn't match the request is rejected with an UnsupportedRequestEncodingRejection.

    Definition Classes
    CodingDirectives
  65. def defaultContentTypeResolver: ContentTypeResolver

    Default ContentTypeResolver.

    Default ContentTypeResolver.

    Definition Classes
    FileAndResourceDirectives
  66. def defaultDirectoryRenderer: DirectoryRenderer

    Default DirectoryRenderer to be used with directory listing directives.

    Default DirectoryRenderer to be used with directory listing directives.

    Definition Classes
    FileAndResourceDirectives
  67. def delete(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  68. def deleteCookie(name: String, domain: String, path: String, inner: Supplier[Route]): Route

    Adds a Set-Cookie response header expiring the cookie with the given properties.

    Adds a Set-Cookie response header expiring the cookie with the given properties.

    name

    Name of the cookie to match

    domain

    Domain of the cookie to match, or empty string to match any domain

    path

    Path of the cookie to match, or empty string to match any path

    Definition Classes
    CookieDirectives
  69. def deleteCookie(name: String, domain: String, inner: Supplier[Route]): Route

    Adds a Set-Cookie response header expiring the cookie with the given properties.

    Adds a Set-Cookie response header expiring the cookie with the given properties.

    name

    Name of the cookie to match

    domain

    Domain of the cookie to match, or empty string to match any domain

    Definition Classes
    CookieDirectives
  70. def deleteCookie(name: String, inner: Supplier[Route]): Route

    Adds a Set-Cookie response header expiring the cookie with the given properties.

    Adds a Set-Cookie response header expiring the cookie with the given properties.

    name

    Name of the cookie to match

    Definition Classes
    CookieDirectives
  71. def deleteCookie(cookies: Iterable[HttpCookie], inner: Supplier[Route]): Route

    Adds a Set-Cookie response header expiring the given cookies.

    Adds a Set-Cookie response header expiring the given cookies.

    Definition Classes
    CookieDirectives
  72. def deleteCookie(cookie: HttpCookie, inner: Supplier[Route]): Route

    Adds a Set-Cookie response header expiring the given cookie.

    Adds a Set-Cookie response header expiring the given cookie.

    Definition Classes
    CookieDirectives
  73. def encodeResponse(inner: Supplier[Route]): Route

    Encodes the response with the encoding that is requested by the client via the Accept- Encoding header.

    Encodes the response with the encoding that is requested by the client via the Accept- Encoding header. The response encoding is determined by the rules specified in http://tools.ietf.org/html/rfc7231#section-5.3.4.

    If the Accept-Encoding header is missing or empty or specifies an encoding other than identity, gzip or deflate then no encoding is used.

    Definition Classes
    CodingDirectives
  74. def encodeResponseWith(coders: Iterable[Coder], inner: Supplier[Route]): Route

    Encodes the response with the encoding that is requested by the client via the Accept- Encoding header.

    Encodes the response with the encoding that is requested by the client via the Accept- Encoding header. The response encoding is determined by the rules specified in http://tools.ietf.org/html/rfc7231#section-5.3.4.

    If the Accept-Encoding header is missing then the response is encoded using the first encoder.

    If the Accept-Encoding header is empty and NoCoding is part of the encoders then no response encoding is used. Otherwise the request is rejected.

    If [encoders] is empty, no encoding is performed.

    Definition Classes
    CodingDirectives
  75. def entity[T](unmarshaller: Unmarshaller[_ >: HttpEntity, T], inner: Function[T, Route]): Route

    Unmarshalls the requests entity using the given unmarshaller, and passes the result to [inner].

    Unmarshalls the requests entity using the given unmarshaller, and passes the result to [inner]. If there is a problem with unmarshalling the request is rejected with the akka.http.javadsl.server.Rejection produced by the unmarshaller.

    Definition Classes
    MarshallingDirectives
  76. def entityAsSourceOf[T](um: Unmarshaller[ByteString, T], support: EntityStreamingSupport, inner: Function[Source[T, NotUsed], Route]): Route
    Definition Classes
    FramedEntityStreamingDirectives
    Annotations
    @CorrespondsTo()
  77. implicit def executionContext: ExecutionContextExecutor
    Definition Classes
    RouteTest
  78. def extract[T](extract: Function[RequestContext, T], inner: Function[T, Route]): Route

    Extracts a single value using the given function.

    Extracts a single value using the given function.

    Definition Classes
    BasicDirectives
  79. def extractActorSystem(inner: Function[ActorSystem, Route]): Route

    Extracts the akka.actor.ActorSystem if the available Materializer is an akka.stream.ActorMaterializer.

    Extracts the akka.actor.ActorSystem if the available Materializer is an akka.stream.ActorMaterializer. Otherwise throws an exception as it won't be able to extract the system from arbitrary materializers.

    Definition Classes
    BasicDirectives
  80. def extractClientCertificate(inner: Function[X509Certificate, Route]): Route

    Extract the client certificate, or reject the request with a akka.http.javadsl.server.TlsClientUnverifiedRejection.

    Extract the client certificate, or reject the request with a akka.http.javadsl.server.TlsClientUnverifiedRejection.

    Using this directives requires tls-session info parsing to be enabled: akka.http.server.parsing.tls-session-info-header = on

    The javax.net.ssl.SSLEngine for the server needs to be set up with setWantClientAuth(true) or setNeedClientAuth(true) or else every request will be failed.

    Definition Classes
    TlsDirectives
  81. def extractClientIP(inner: Function[RemoteAddress, Route]): Route

    Extracts the client's IP from either the X-Forwarded-For, Remote-Address, X-Real-IP header or akka.http.javadsl.model.AttributeKeys.remoteAddress attribute (in that order of priority).

    Extracts the client's IP from either the X-Forwarded-For, Remote-Address, X-Real-IP header or akka.http.javadsl.model.AttributeKeys.remoteAddress attribute (in that order of priority).

    Definition Classes
    MiscDirectives
  82. def extractCredentials(inner: Function[Optional[HttpCredentials], Route]): Route

    Extracts the potentially present HttpCredentials provided with the request's akka.http.javadsl.model.headers.Authorization header.

    Extracts the potentially present HttpCredentials provided with the request's akka.http.javadsl.model.headers.Authorization header.

    Definition Classes
    SecurityDirectives
  83. def extractDataBytes(inner: Function[Source[ByteString, Any], Route]): RouteAdapter

    Extracts the entities dataBytes akka.stream.javadsl.Source from the akka.http.javadsl.server.RequestContext.

    Extracts the entities dataBytes akka.stream.javadsl.Source from the akka.http.javadsl.server.RequestContext.

    Definition Classes
    BasicDirectives
  84. def extractEntity(inner: Function[RequestEntity, Route]): Route

    Extracts the current http request entity.

    Extracts the current http request entity.

    Definition Classes
    BasicDirectives
    Annotations
    @CorrespondsTo()
  85. def extractExecutionContext(inner: Function[ExecutionContextExecutor, Route]): Route

    Extracts the ExecutionContextExecutor from the RequestContext.

    Extracts the ExecutionContextExecutor from the RequestContext.

    Definition Classes
    BasicDirectives
  86. def extractHost(inner: Function[String, Route]): Route

    Extracts the hostname part of the Host request header value.

    Extracts the hostname part of the Host request header value.

    Definition Classes
    HostDirectives
  87. def extractLog(inner: Function[LoggingAdapter, Route]): Route

    Extracts the LoggingAdapter

    Extracts the LoggingAdapter

    Definition Classes
    BasicDirectives
  88. def extractMatchedPath(inner: Function[String, Route]): RouteAdapter

    Extracts the already matched path from the RequestContext.

    Extracts the already matched path from the RequestContext.

    Definition Classes
    BasicDirectives
  89. def extractMaterializer(inner: Function[Materializer, Route]): Route

    Extracts the Materializer from the RequestContext.

    Extracts the Materializer from the RequestContext.

    Definition Classes
    BasicDirectives
  90. def extractMethod(inner: Function[HttpMethod, Route]): RouteAdapter
    Definition Classes
    MethodDirectives
  91. def extractOfferedWsProtocols(inner: Function[List[String], Route]): Route

    Extract the list of WebSocket subprotocols as offered by the client in the Sec-WebSocket-Protocol header if this is a WebSocket request.

    Extract the list of WebSocket subprotocols as offered by the client in the Sec-WebSocket-Protocol header if this is a WebSocket request. Rejects with an ExpectedWebSocketRequestRejection, otherwise.

    Definition Classes
    WebSocketDirectives
  92. def extractParserSettings(inner: Function[ParserSettings, Route]): RouteAdapter

    Extracts the akka.http.javadsl.settings.ParserSettings from the akka.http.javadsl.server.RequestContext.

  93. def extractRequest(inner: Function[HttpRequest, Route]): RouteAdapter

    Extracts the current HttpRequest instance.

    Extracts the current HttpRequest instance.

    Definition Classes
    BasicDirectives
  94. def extractRequestContext(inner: Function[RequestContext, Route]): RouteAdapter

    Extracts the akka.http.javadsl.server.RequestContext itself.

    Definition Classes
    BasicDirectives
  95. def extractRequestEntity(inner: Function[RequestEntity, Route]): Route

    Extracts the akka.http.javadsl.model.RequestEntity from the akka.http.javadsl.server.RequestContext.

  96. def extractRequestTimeout(inner: Function[Duration, Route]): RouteAdapter
    Definition Classes
    TimeoutDirectives
  97. def extractScheme(inner: Function[String, Route]): Route

    Extracts the Uri scheme from the request.

    Extracts the Uri scheme from the request.

    Definition Classes
    SchemeDirectives
  98. def extractSettings(inner: Function[RoutingSettings, Route]): RouteAdapter

    Extracts the RoutingSettings from the akka.http.javadsl.server.RequestContext.

    Extracts the RoutingSettings from the akka.http.javadsl.server.RequestContext.

    Definition Classes
    BasicDirectives
  99. def extractSslSession(inner: Function[SSLSession, Route]): Route

    Extract the current SSLSession.

    Extract the current SSLSession.

    Note: Using this directives requires tls-session info parsing to be enabled: akka.http.server.parsing.tls-session-info-header = on

    Definition Classes
    TlsDirectives
  100. def extractStrictEntity(timeout: FiniteDuration, maxBytes: Long, inner: Function[Strict, Route]): Route

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    To help protect against excessive memory use, the request will be aborted if the request is larger than allowed by the akka.http.parsing.max-to-strict-bytes configuration setting.

    Converts the HttpEntity from the akka.http.javadsl.server.RequestContext into an akka.http.javadsl.model.HttpEntity.Strict and extracts it, or fails the route if unable to drain the entire request body within the timeout.

    timeout

    The directive is failed if the stream isn't completed after the given timeout.

    Definition Classes
    BasicDirectives
  101. def extractStrictEntity(timeout: FiniteDuration, inner: Function[Strict, Route]): Route

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    To help protect against excessive memory use, the request will be aborted if the request is larger than allowed by the akka.http.parsing.max-to-strict-bytes configuration setting.

    Converts the HttpEntity from the akka.http.javadsl.server.RequestContext into an akka.http.javadsl.model.HttpEntity.Strict and extracts it, or fails the route if unable to drain the entire request body within the timeout.

    timeout

    The directive is failed if the stream isn't completed after the given timeout.

    Definition Classes
    BasicDirectives
  102. def extractUnmatchedPath(inner: Function[String, Route]): RouteAdapter

    Extracts the yet unmatched path from the RequestContext.

    Extracts the yet unmatched path from the RequestContext.

    Definition Classes
    BasicDirectives
  103. def extractUri(inner: Function[Uri, Route]): RouteAdapter

    Extracts the complete request URI.

    Extracts the complete request URI.

    Definition Classes
    BasicDirectives
  104. def extractWebSocketUpgrade(inner: Function[WebSocketUpgrade, Route]): Route

    Extract the UpgradeToWebSocket attribute if this is a WebSocket request.

    Extract the UpgradeToWebSocket attribute if this is a WebSocket request. Rejects with an ExpectedWebSocketRequestRejection, otherwise.

    Definition Classes
    WebSocketDirectives
  105. def failWith(error: Throwable): Route

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

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

    Definition Classes
    RouteDirectives
  106. def fileUpload(fieldName: String, inner: BiFunction[FileInfo, Source[ByteString, Any], Route]): Route

    Collects each body part that is a multipart file as a tuple containing metadata and a Source for streaming the file contents somewhere.

    Collects each body part that is a multipart file as a tuple containing metadata and a Source for streaming the file contents somewhere. If there is no such field the request will be rejected, if there are multiple file parts with the same name, the first one will be used and the subsequent ones ignored.

    Definition Classes
    FileUploadDirectives
  107. def fileUploadAll(fieldName: String, inner: Function[List[Entry[FileInfo, Source[ByteString, Any]]], Route]): Route

    Collects each body part that is a multipart file as a tuple containing metadata and a Source for streaming the file contents somewhere.

    Collects each body part that is a multipart file as a tuple containing metadata and a Source for streaming the file contents somewhere. If there is no such field the request will be rejected. Files are buffered into temporary files on disk so in-memory buffers don't overflow. The temporary files are cleaned up once materialized, or on exit if the stream is not consumed.

    Definition Classes
    FileUploadDirectives
  108. def formField[T](t: Unmarshaller[String, T], name: String, inner: Function[T, Route]): Route
    Definition Classes
    FormFieldDirectives
  109. def formField(name: String, inner: Function[String, Route]): Route
    Definition Classes
    FormFieldDirectives
  110. def formFieldList(inner: Function[List[Entry[String, String]], Route]): Route

    Extracts HTTP form fields from the request as a Map.Entry<String, String>>.

    Extracts HTTP form fields from the request as a Map.Entry<String, String>>.

    Definition Classes
    FormFieldDirectives
    Annotations
    @CorrespondsTo()
  111. def formFieldList[T](t: Unmarshaller[String, T], name: String, inner: Function[List[T], Route]): Route
    Definition Classes
    FormFieldDirectives
    Annotations
    @CorrespondsTo()
  112. def formFieldList(name: String, inner: Function[List[String], Route]): Route
    Definition Classes
    FormFieldDirectives
    Annotations
    @CorrespondsTo()
  113. def formFieldMap(inner: Function[Map[String, String], Route]): Route

    Extracts HTTP form fields from the request as a Map<String, String>.

    Extracts HTTP form fields from the request as a Map<String, String>.

    Definition Classes
    FormFieldDirectives
  114. def formFieldMultiMap(inner: Function[Map[String, List[String]], Route]): Route

    Extracts HTTP form fields from the request as a Map<String, List<String>>.

    Extracts HTTP form fields from the request as a Map<String, List<String>>.

    Definition Classes
    FormFieldDirectives
  115. def formFieldOptional[T](t: Unmarshaller[String, T], name: String, inner: Function[Optional[T], Route]): Route
    Definition Classes
    FormFieldDirectives
    Annotations
    @CorrespondsTo()
  116. def formFieldOptional(name: String, inner: Function[Optional[String], Route]): Route
    Definition Classes
    FormFieldDirectives
    Annotations
    @CorrespondsTo()
  117. def get(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  118. def getFromBrowseableDirectories(directories: String*): Route

    Serves the content of the given directories as a file system browser, i.e.

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

    Definition Classes
    FileAndResourceDirectives
    Annotations
    @varargs()
  119. def getFromBrowseableDirectories(directories: Iterable[String], resolver: ContentTypeResolver): Route

    Serves the content of the given directories as a file system browser, i.e.

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

    Definition Classes
    FileAndResourceDirectives
  120. def getFromBrowseableDirectories(directories: Iterable[String], renderer: DirectoryRenderer): Route

    Serves the content of the given directories as a file system browser, i.e.

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

    Definition Classes
    FileAndResourceDirectives
  121. def getFromBrowseableDirectories(directories: Iterable[String], renderer: DirectoryRenderer, resolver: ContentTypeResolver): Route

    Serves the content of the given directories as a file system browser, i.e.

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

    Definition Classes
    FileAndResourceDirectives
  122. def getFromBrowseableDirectory(directory: String): Route

    Same as getFromBrowseableDirectories with only one directory.

    Same as getFromBrowseableDirectories with only one directory.

    Definition Classes
    FileAndResourceDirectives
  123. def getFromBrowseableDirectory(directory: String, resolver: ContentTypeResolver): Route

    Same as getFromBrowseableDirectories with only one directory.

    Same as getFromBrowseableDirectories with only one directory.

    Definition Classes
    FileAndResourceDirectives
  124. def getFromBrowseableDirectory(directory: String, renderer: DirectoryRenderer): Route

    Same as getFromBrowseableDirectories with only one directory.

    Same as getFromBrowseableDirectories with only one directory.

    Definition Classes
    FileAndResourceDirectives
  125. def getFromBrowseableDirectory(directory: String, renderer: DirectoryRenderer, resolver: ContentTypeResolver): Route

    Same as getFromBrowseableDirectories with only one directory.

    Same as getFromBrowseableDirectories with only one directory.

    Definition Classes
    FileAndResourceDirectives
  126. def getFromDirectory(directoryPath: String, resolver: ContentTypeResolver): Route

    Completes GET requests with the content of a file underneath the given directory, using the given content-type resolver.

    Completes GET requests with the content of a file underneath the given directory, using the given content-type resolver. If the file cannot be read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  127. def getFromDirectory(directoryPath: String): Route

    Completes GET requests with the content of a file underneath the given directory, using the default content-type resolver.

    Completes GET requests with the content of a file underneath the given directory, using the default content-type resolver. If the file cannot be read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  128. def getFromFile(file: String, resolver: ContentTypeResolver): Route

    Completes GET requests with the content of the given file, resolving the content type using the given resolver.

    Completes GET requests with the content of the given file, resolving the content type using the given resolver. If the file cannot be found or read the request is rejected.

    Definition Classes
    FileAndResourceDirectives
  129. def getFromFile(file: String): Route

    Completes GET requests with the content of the given file, resolving the content type using the default resolver.

    Completes GET requests with the content of the given file, resolving the content type using the default resolver. If the file cannot be found or read the request is rejected.

    Definition Classes
    FileAndResourceDirectives
  130. def getFromFile(file: File, contentType: ContentType): Route

    Completes GET requests with the content of the given file, using the content type.

    Completes GET requests with the content of the given file, using the content type. If the file cannot be found or read the request is rejected.

    Definition Classes
    FileAndResourceDirectives
  131. def getFromFile(file: File, resolver: ContentTypeResolver): Route

    Completes GET requests with the content of the given file, resolving the content type using the given resolver.

    Completes GET requests with the content of the given file, resolving the content type using the given resolver. If the file cannot be found or read the request is rejected.

    Definition Classes
    FileAndResourceDirectives
  132. def getFromFile(file: File): Route

    Completes GET requests with the content of the given file, resolving the content type using the default resolver.

    Completes GET requests with the content of the given file, resolving the content type using the default resolver. If the file cannot be found or read the request is rejected.

    Definition Classes
    FileAndResourceDirectives
  133. def getFromResource(path: String, contentType: ContentType, classLoader: ClassLoader): Route

    Completes GET requests with the content of the given resource loaded from the given ClassLoader, with the given content type.

    Completes GET requests with the content of the given resource loaded from the given ClassLoader, with the given content type. If the resource cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  134. def getFromResource(path: String, contentType: ContentType): Route

    Completes GET requests with the content of the given resource loaded from the default ClassLoader, with the given content type.

    Completes GET requests with the content of the given resource loaded from the default ClassLoader, with the given content type. If the resource cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  135. def getFromResource(path: String, resolver: ContentTypeResolver): Route

    Completes GET requests with the content of the given resource loaded from the default ClassLoader, using the given content type resolver.

    Completes GET requests with the content of the given resource loaded from the default ClassLoader, using the given content type resolver. If the resource cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  136. def getFromResource(path: String): Route

    Completes GET requests with the content of the given resource loaded from the default ClassLoader, using the default content type resolver.

    Completes GET requests with the content of the given resource loaded from the default ClassLoader, using the default content type resolver. If the resource cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  137. def getFromResourceDirectory(directoryName: String, resolver: ContentTypeResolver, classLoader: ClassLoader): Route

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the given ClassLoader, resolving content type using the given content type resolver.

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the given ClassLoader, resolving content type using the given content type resolver.

    If the requested resource is itself a directory or cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  138. def getFromResourceDirectory(directoryName: String, resolver: ContentTypeResolver): Route

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the default ClassLoader, resolving content type using the given content type resolver.

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the default ClassLoader, resolving content type using the given content type resolver.

    If the requested resource is itself a directory or cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  139. def getFromResourceDirectory(directoryName: String, classLoader: ClassLoader): Route

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the given ClassLoader, resolving content type using the default content type resolver.

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the given ClassLoader, resolving content type using the default content type resolver.

    If the requested resource is itself a directory or cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  140. def getFromResourceDirectory(directoryName: String): Route

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the default ClassLoader, resolving content type using the default content type resolver.

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory", using the default ClassLoader, resolving content type using the default content type resolver.

    If the requested resource is itself a directory or cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  141. def handle(handler: Function[HttpRequest, CompletionStage[HttpResponse]]): Route

    Handle the request using a function.

    Handle the request using a function.

    Definition Classes
    RouteDirectives
  142. def handleExceptions(handler: ExceptionHandler, inner: Supplier[Route]): RouteAdapter

    Transforms exceptions thrown during evaluation of its inner route using the given akka.http.javadsl.server.ExceptionHandler.

    Transforms exceptions thrown during evaluation of its inner route using the given akka.http.javadsl.server.ExceptionHandler.

    Definition Classes
    ExecutionDirectives
  143. def handleRejections(handler: RejectionHandler, inner: Supplier[Route]): RouteAdapter

    Transforms rejections produced by its inner route using the given akka.http.scaladsl.server.RejectionHandler.

    Transforms rejections produced by its inner route using the given akka.http.scaladsl.server.RejectionHandler.

    Definition Classes
    ExecutionDirectives
  144. def handleSync(handler: Function[HttpRequest, HttpResponse]): Route

    Handle the request using a function.

    Handle the request using a function.

    Definition Classes
    RouteDirectives
  145. def handleWebSocketMessages[T](handler: Flow[Message, Message, T]): Route

    Handles WebSocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejection.

    Handles WebSocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejection.

    Definition Classes
    WebSocketDirectives
  146. def handleWebSocketMessagesForOptionalProtocol[T](handler: Flow[Message, Message, T], subprotocol: Optional[String]): Route

    Handles WebSocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejection.

    Handles WebSocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejection.

    If the subprotocol parameter is None any WebSocket request is accepted. If the subprotocol parameter is Some(protocol) a WebSocket request is only accepted if the list of subprotocols supported by the client (as announced in the WebSocket request) contains protocol. If the client did not offer the protocol in question the request is rejected with an UnsupportedWebSocketSubprotocolRejection rejection.

    To support several subprotocols you may chain several handleWebSocketMessagesForOptionalProtocol routes.

    Definition Classes
    WebSocketDirectives
  147. def handleWebSocketMessagesForProtocol[T](handler: Flow[Message, Message, T], subprotocol: String): Route

    Handles WebSocket requests with the given handler if the given subprotocol is offered in the request and rejects other requests with an ExpectedWebSocketRequestRejection or an UnsupportedWebSocketSubprotocolRejection.

    Handles WebSocket requests with the given handler if the given subprotocol is offered in the request and rejects other requests with an ExpectedWebSocketRequestRejection or an UnsupportedWebSocketSubprotocolRejection.

    Definition Classes
    WebSocketDirectives
  148. def handleWith[T, R](unmarshaller: Unmarshaller[_ >: HttpEntity, T], marshaller: Marshaller[R, _ <: HttpResponse], inner: Function[T, R]): Route

    Completes the request using the given function.

    Completes the request using the given function. The input to the function is produced with the in-scope entity unmarshaller and the result value of the function is marshalled with the in-scope marshaller.

    Definition Classes
    MarshallingDirectives
  149. def head(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  150. def headerValue[T](f: Function[HttpHeader, Optional[T]], inner: Function[T, Route]): RouteAdapter

    Extracts an HTTP header value using the given function.

    Extracts an HTTP header value using the given function. If the function result is undefined for all headers the request is rejected with an empty rejection set. If the given function throws an exception the request is rejected with a akka.http.javadsl.server.MalformedHeaderRejection.

    Definition Classes
    HeaderDirectives
  151. def headerValueByName(headerName: String, inner: Function[String, Route]): RouteAdapter

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

    Extracts the value of the first HTTP request header with the given name. If no header with a matching name is found the request is rejected with a akka.http.javadsl.server.MissingHeaderRejection.

    Definition Classes
    HeaderDirectives
  152. def headerValueByType[T <: HttpHeader](t: Class[T], inner: Function[T, Route]): RouteAdapter

    Extracts the first HTTP request header of the given type.

    Extracts the first HTTP request header of the given type. If no header with a matching type is found the request is rejected with a akka.http.javadsl.server.MissingHeaderRejection.

    Definition Classes
    HeaderDirectives
  153. def headerValuePF[T](pf: PartialFunction[HttpHeader, T], inner: Function[T, Route]): RouteAdapter

    Extracts an HTTP header value using the given partial function.

    Extracts an HTTP header value using the given partial function. If the function is undefined for all headers the request is rejected with an empty rejection set.

    Definition Classes
    HeaderDirectives
  154. def host(regex: Pattern, inner: Function[String, Route]): Route

    Rejects all requests with a host name that doesn't have a prefix matching the given regular expression.

    Rejects all requests with a host name that doesn't have a prefix matching the given regular expression. For all matching requests the prefix string matching the regex is extracted and passed to the inner route. If the regex contains a capturing group only the string matched by this group is extracted. If the regex contains more than one capturing group an IllegalArgumentException is thrown.

    Definition Classes
    HostDirectives
  155. def host(predicate: Predicate[String], inner: Supplier[Route]): Route

    Rejects all requests for whose host name the given predicate function returns false.

    Rejects all requests for whose host name the given predicate function returns false.

    Definition Classes
    HostDirectives
  156. def host(hostName: String, inner: Supplier[Route]): Route

    Rejects all requests with a host name different from the given one.

    Rejects all requests with a host name different from the given one.

    Definition Classes
    HostDirectives
  157. def host(hostNames: Iterable[String], inner: Supplier[Route]): Route

    Rejects all requests with a host name different from the given ones.

    Rejects all requests with a host name different from the given ones.

    Definition Classes
    HostDirectives
  158. def ignoreTrailingSlash(inner: Supplier[Route]): Route

    Tries to match the inner route and if it fails with an empty rejection, it tries it again adding (or removing) the trailing slash on the given path.

    Tries to match the inner route and if it fails with an empty rejection, it tries it again adding (or removing) the trailing slash on the given path.

    Definition Classes
    PathDirectives
  159. def listDirectoryContents(directoryRenderer: DirectoryRenderer, directories: String*): Route

    Completes GET requests with a unified listing of the contents of all given directories.

    Completes GET requests with a unified listing of the contents of all given directories. The actual rendering of the directory contents is performed by the in-scope Marshaller[DirectoryListing].

    Definition Classes
    FileAndResourceDirectives
    Annotations
    @varargs()
  160. def listDirectoryContents(directories: String*): Route

    Completes GET requests with a unified listing of the contents of all given directories.

    Completes GET requests with a unified listing of the contents of all given directories. The actual rendering of the directory contents is performed by the in-scope Marshaller[DirectoryListing].

    Definition Classes
    FileAndResourceDirectives
    Annotations
    @varargs()
  161. def logRequest(show: Function[HttpRequest, LogEntry], inner: Supplier[Route]): Route

    Produces a log entry for every incoming request.

    Produces a log entry for every incoming request.

    Definition Classes
    DebuggingDirectives
  162. def logRequest(marker: String, level: LogLevel, inner: Supplier[Route]): Route

    Produces a log entry for every incoming request.

    Produces a log entry for every incoming request.

    level

    One of the log levels defined in akka.event.Logging

    Definition Classes
    DebuggingDirectives
  163. def logRequest(marker: String, inner: Supplier[Route]): Route

    Produces a log entry for every incoming request.

    Produces a log entry for every incoming request.

    Definition Classes
    DebuggingDirectives
  164. def logRequestResult(showSuccess: BiFunction[HttpRequest, HttpResponse, LogEntry], showRejection: BiFunction[HttpRequest, List[Rejection], LogEntry], inner: Supplier[Route]): RouteAdapter

    Produces a log entry for every request/response combination.

    Produces a log entry for every request/response combination.

    showSuccess

    Function invoked when the route result was successful and yielded an HTTP response

    showRejection

    Function invoked when the route yielded a rejection

    Definition Classes
    DebuggingDirectives
  165. def logRequestResultOptional(showSuccess: BiFunction[HttpRequest, HttpResponse, Optional[LogEntry]], showRejection: BiFunction[HttpRequest, List[Rejection], Optional[LogEntry]], inner: Supplier[Route]): RouteAdapter

    Optionally produces a log entry for every request/response combination.

    Optionally produces a log entry for every request/response combination.

    showSuccess

    Function invoked when the route result was successful and yielded an HTTP response

    showRejection

    Function invoked when the route yielded a rejection

    Definition Classes
    DebuggingDirectives
    Annotations
    @CorrespondsTo()
  166. def logResult(showSuccess: Function[HttpResponse, LogEntry], showRejection: Function[List[Rejection], LogEntry], inner: Supplier[Route]): RouteAdapter

    Produces a log entry for every route result.

    Produces a log entry for every route result.

    showSuccess

    Function invoked when the route result was successful and yielded an HTTP response

    showRejection

    Function invoked when the route yielded a rejection

    Definition Classes
    DebuggingDirectives
  167. def logResult(marker: String, level: LogLevel, inner: Supplier[Route]): Route

    Produces a log entry for every route result.

    Produces a log entry for every route result.

    level

    One of the log levels defined in akka.event.Logging

    Definition Classes
    DebuggingDirectives
  168. def logResult(marker: String, inner: Supplier[Route]): Route

    Produces a log entry for every route result.

    Produces a log entry for every route result.

    Definition Classes
    DebuggingDirectives
  169. def mapInnerRoute(f: Function[Route, Route], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  170. def mapRejections(f: Function[List[Rejection], List[Rejection]], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  171. def mapRequest(f: Function[HttpRequest, HttpRequest], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  172. def mapRequestContext(f: Function[RequestContext, RequestContext], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  173. def mapResponse(f: Function[HttpResponse, HttpResponse], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  174. def mapResponseEntity(f: Function[ResponseEntity, ResponseEntity], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  175. def mapResponseHeaders(f: Function[List[HttpHeader], List[HttpHeader]], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  176. def mapRouteResult(f: Function[RouteResult, RouteResult], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  177. def mapRouteResultFuture(f: Function[CompletionStage[RouteResult], CompletionStage[RouteResult]], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  178. def mapRouteResultPF(f: PartialFunction[RouteResult, RouteResult], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  179. def mapRouteResultWith(f: Function[RouteResult, CompletionStage[RouteResult]], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  180. def mapRouteResultWithPF(f: PartialFunction[RouteResult, CompletionStage[RouteResult]], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  181. def mapSettings(f: Function[RoutingSettings, RoutingSettings], inner: Supplier[Route]): Route

    Runs the inner route with settings mapped by the given function.

    Runs the inner route with settings mapped by the given function.

    Definition Classes
    BasicDirectives
  182. def mapUnmatchedPath(f: Function[String, String], inner: Supplier[Route]): Route

    Transforms the unmatchedPath of the RequestContext using the given function.

    Transforms the unmatchedPath of the RequestContext using the given function.

    Definition Classes
    BasicDirectives
  183. implicit def materializer: Materializer
    Definition Classes
    JUnitRouteTestBaseRouteTest
  184. def method(method: HttpMethod, inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  185. def optionalAttribute[T](key: AttributeKey[T], inner: Function[Optional[T], Route]): RouteAdapter

    Extracts the value of the optional request attribute with the given key.

    Extracts the value of the optional request attribute with the given key.

    Definition Classes
    AttributeDirectives
  186. def optionalCookie(name: String, inner: Function[Optional[HttpCookiePair], Route]): Route

    Extracts the HttpCookiePair with the given name as an Option[HttpCookiePair].

    Extracts the HttpCookiePair with the given name as an Option[HttpCookiePair]. If the cookie is not present a value of None is extracted.

    Definition Classes
    CookieDirectives
  187. def optionalHeaderValue[T](f: Function[HttpHeader, Optional[T]], inner: Function[Optional[T], Route]): RouteAdapter

    Extracts an optional HTTP header value using the given function.

    Extracts an optional HTTP header value using the given function. If the given function throws an exception the request is rejected with a akka.http.javadsl.server.MalformedHeaderRejection.

    Definition Classes
    HeaderDirectives
  188. def optionalHeaderValueByName(headerName: String, inner: Function[Optional[String], Route]): RouteAdapter

    Extracts the value of the optional HTTP request header with the given name.

    Extracts the value of the optional HTTP request header with the given name.

    Definition Classes
    HeaderDirectives
  189. def optionalHeaderValueByType[T <: HttpHeader](t: Class[T], inner: Function[Optional[T], Route]): RouteAdapter

    FIXME: WARNING: Custom headers don't work yet with this directive!

    FIXME: WARNING: Custom headers don't work yet with this directive!

    Extract the header value of the optional HTTP request header with the given type.

    Definition Classes
    HeaderDirectives
  190. def optionalHeaderValuePF[T](pf: PartialFunction[HttpHeader, T], inner: Function[Optional[T], Route]): RouteAdapter

    Extracts an optional HTTP header value using the given partial function.

    Extracts an optional HTTP header value using the given partial function. If the given function throws an exception the request is rejected with a akka.http.javadsl.server.MalformedHeaderRejection.

    Definition Classes
    HeaderDirectives
  191. def options(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  192. def overrideMethodWithParameter(paramName: String, inner: Supplier[Route]): Route

    Changes the HTTP method of the request to the value of the specified query string parameter.

    Changes the HTTP method of the request to the value of the specified query string parameter. If the query string parameter is not specified this directive has no effect. If the query string is specified as something that is not a HTTP method, then this directive completes the request with a 501 Not Implemented response.

    This directive is useful for:

    • Use in combination with JSONP (JSONP only supports GET)
    • Supporting older browsers that lack support for certain HTTP methods. E.g. IE8 does not support PATCH
    Definition Classes
    MethodDirectives
  193. def parameter[T](t: Unmarshaller[String, T], name: String, inner: Function[T, Route]): Route
    Definition Classes
    ParameterDirectives
  194. def parameter(name: String, inner: Function[String, Route]): Route
    Definition Classes
    ParameterDirectives
  195. def parameterList(inner: Function[List[Entry[String, String]], Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  196. def parameterList[T](t: Unmarshaller[String, T], name: String, inner: Function[List[T], Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  197. def parameterList(name: String, inner: Function[List[String], Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  198. def parameterMap(inner: Function[Map[String, String], Route]): Route
    Definition Classes
    ParameterDirectives
  199. def parameterMultiMap(inner: Function[Map[String, List[String]], Route]): Route
    Definition Classes
    ParameterDirectives
  200. def parameterOptional[T](t: Unmarshaller[String, T], name: String, inner: Function[Optional[T], Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  201. def parameterOptional(name: String, inner: Function[Optional[String], Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  202. def parameterOrDefault[T](t: Unmarshaller[String, T], defaultValue: T, name: String, inner: Function[T, Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  203. def parameterRequiredValue[T](t: Unmarshaller[String, T], requiredValue: T, name: String, inner: Supplier[Route]): Route
    Definition Classes
    ParameterDirectives
    Annotations
    @CorrespondsTo()
  204. def pass(inner: Supplier[Route]): Route

    Always passes the request on to its inner route (i.e.

    Always passes the request on to its inner route (i.e. does nothing with the request or the response).

    Definition Classes
    BasicDirectives
  205. def patch(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  206. def path[T](t: Unmarshaller[String, T], inner: Function[T, Route]): Route

    Consumes a leading slash and extracts the next path segment, unmarshalling it and passing the result to the inner function, expecting the full path to have been consumed then.

    Consumes a leading slash and extracts the next path segment, unmarshalling it and passing the result to the inner function, expecting the full path to have been consumed then.

    Definition Classes
    PathDirectives
  207. def path[T1, T2](p: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  208. def path[T](p: PathMatcher1[T], inner: Function[T, Route]): Route
    Definition Classes
    PathDirectives
  209. def path(p: PathMatcher0, inner: Supplier[Route]): Route

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

    Applies the given PathMatcher0 to the remaining unmatched path after consuming a leading slash. The matcher has to match the remaining path completely. If matched the value extracted by the PathMatcher0 is extracted on the directive level.

    Definition Classes
    PathDirectives
  210. def path(inner: Function[String, Route]): Route
    Definition Classes
    PathDirectives
  211. def path(segment: String, inner: Supplier[Route]): Route

    Matches a prefix to the remaining unmatched path after consuming a leading slash.

    Matches a prefix to the remaining unmatched path after consuming a leading slash. The matcher has to match the remaining path completely. If matched the value matching the prefix is extracted on the directive level.

    Definition Classes
    PathDirectives
  212. def pathEnd(inner: Supplier[Route]): Route

    Rejects the request if the unmatchedPath of the akka.http.javadsl.server.RequestContext is non-empty, or said differently: only passes on the request to its inner route if the request path has been matched completely.

    Rejects the request if the unmatchedPath of the akka.http.javadsl.server.RequestContext is non-empty, or said differently: only passes on the request to its inner route if the request path has been matched completely.

    Definition Classes
    PathDirectives
  213. def pathEndOrSingleSlash(inner: Supplier[Route]): Route

    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.

    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.

    Note that trailing slash and non-trailing slash URLs are not the same, although they often serve the same content. It is recommended to serve only one URL version and make the other redirect to it using #redirectToTrailingSlashIfMissing or #redirectToNoTrailingSlashIfPresent directive.

    For example:

    def route = {
      // redirect '/users/' to '/users', '/users/:userId/' to '/users/:userId'
      redirectToNoTrailingSlashIfPresent(Found) {
        pathPrefix("users") {
          concat(
            pathEnd {
              // user list ...
            },
            path(UUID) { userId =>
              // user profile ...
            }
          )
        }
      }
    }

    For further information, refer to: http://googlewebmastercentral.blogspot.de/2010/04/to-slash-or-not-to-slash.html

    Definition Classes
    PathDirectives
  214. def pathPrefix[T](t: Unmarshaller[String, T], inner: Function[T, Route]): Route

    Consumes a leading slash and extracts the next path segment, unmarshalling it and passing the result to the inner function.

    Consumes a leading slash and extracts the next path segment, unmarshalling it and passing the result to the inner function.

    Definition Classes
    PathDirectives
  215. def pathPrefix[T1, T2](p: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  216. def pathPrefix[T](p: PathMatcher1[T], inner: Function[T, Route]): Route
    Definition Classes
    PathDirectives
  217. def pathPrefix(p: PathMatcher0, inner: Supplier[Route]): Route

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

    Applies the given PathMatcher0 to the remaining unmatched path after consuming a leading slash. The matcher has to match a prefix of the remaining path. If matched the value extracted by the PathMatcher is extracted on the directive level.

    Definition Classes
    PathDirectives
  218. def pathPrefix(inner: Function[String, Route]): Route
    Definition Classes
    PathDirectives
  219. def pathPrefix(segment: String, inner: Supplier[Route]): Route

    Matches a prefix to the remaining unmatched path after consuming a leading slash.

    Matches a prefix to the remaining unmatched path after consuming a leading slash. The matcher has to match a prefix of the remaining path. If matched the value matching the prefix is extracted on the directive level.

    Definition Classes
    PathDirectives
  220. def pathPrefixTest[T1, T2](pm: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  221. def pathPrefixTest[T1](pm: PathMatcher1[T1], inner: Function[T1, Route]): Route
    Definition Classes
    PathDirectives
  222. def pathPrefixTest(pm: PathMatcher0, inner: Supplier[Route]): Route
    Definition Classes
    PathDirectives
  223. def pathPrefixTest(segment: String, inner: Supplier[Route]): Route

    Checks whether the unmatchedPath of the akka.http.javadsl.server.RequestContext has a prefix matched by the given PathMatcher.

    Checks whether the unmatchedPath of the akka.http.javadsl.server.RequestContext has a prefix matched by the given PathMatcher. In analogy to the pathPrefix directive a leading slash is implied.

    Definition Classes
    PathDirectives
  224. def pathSingleSlash(inner: Supplier[Route]): Route

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

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

    Definition Classes
    PathDirectives
  225. def pathSuffix[T1, T2](pm: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  226. def pathSuffix[T1](pm: PathMatcher1[T1], inner: Function[T1, Route]): Route
    Definition Classes
    PathDirectives
  227. def pathSuffix(pm: PathMatcher0, inner: Supplier[Route]): Route
    Definition Classes
    PathDirectives
  228. def pathSuffix(segment: String, inner: Supplier[Route]): Route

    Applies the given akka.http.scaladsl.server.PathMatcher to a suffix of the remaining unmatchedPath of the akka.http.javadsl.server.RequestContext.

    Applies the given akka.http.scaladsl.server.PathMatcher to a suffix of the remaining unmatchedPath of the akka.http.javadsl.server.RequestContext. If matched the value extracted by the akka.http.javadsl.server.PathMatcher0 is extracted and the matched parts of the path are consumed. Note that, for efficiency reasons, the given akka.http.javadsl.server.PathMatcher0 must match the desired suffix in reversed-segment order, i.e. pathSuffix("baz" / "bar") would match /foo/bar/baz!

    Definition Classes
    PathDirectives
  229. def pathSuffixTest[T1, T2](pm: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  230. def pathSuffixTest[T1](pm: PathMatcher1[T1], inner: Function[T1, Route]): Route
    Definition Classes
    PathDirectives
  231. def pathSuffixTest(pm: PathMatcher0, inner: Supplier[Route]): Route
    Definition Classes
    PathDirectives
  232. def pathSuffixTest(segment: String, inner: Supplier[Route]): Route

    Checks whether the unmatchedPath of the akka.http.javadsl.server.RequestContext has a suffix matched by the given PathMatcher.

    Checks whether the unmatchedPath of the akka.http.javadsl.server.RequestContext has a suffix matched by the given PathMatcher. However, as opposed to the pathSuffix directive the matched path is not actually "consumed". Note that, for efficiency reasons, the given PathMatcher must match the desired suffix in reversed-segment order, i.e. pathSuffixTest("baz" / "bar") would match /foo/bar/baz!

    Definition Classes
    PathDirectives
  233. def post(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  234. def provide[T](t: T, inner: Function[T, Route]): Route

    Injects the given value into a directive.

    Injects the given value into a directive.

    Definition Classes
    BasicDirectives
  235. def put(inner: Supplier[Route]): Route
    Definition Classes
    MethodDirectives
  236. def rawPathPrefix[T1, T2](pm: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  237. def rawPathPrefix[T1](pm: PathMatcher1[T1], inner: Function[T1, Route]): Route
    Definition Classes
    PathDirectives
  238. def rawPathPrefix(pm: PathMatcher0, inner: Supplier[Route]): Route
    Definition Classes
    PathDirectives
  239. def rawPathPrefix(segment: String, inner: Supplier[Route]): Route

    Applies the given matcher directly to a prefix of the unmatched path of the akka.http.javadsl.server.RequestContext (i.e.

    Applies the given matcher directly to a prefix of the unmatched path of the akka.http.javadsl.server.RequestContext (i.e. without implicitly consuming a leading slash). The matcher has to match a prefix of the remaining path. If matched the value extracted by the PathMatcher is extracted on the directive level.

    Definition Classes
    PathDirectives
  240. def rawPathPrefixTest[T1, T2](pm: PathMatcher2[T1, T2], inner: BiFunction[T1, T2, Route]): Route
    Definition Classes
    PathDirectives
  241. def rawPathPrefixTest[T1](pm: PathMatcher1[T1], inner: Function[T1, Route]): Route
    Definition Classes
    PathDirectives
  242. def rawPathPrefixTest(pm: PathMatcher0, inner: Supplier[Route]): Route
    Definition Classes
    PathDirectives
  243. def rawPathPrefixTest(segment: String, inner: Supplier[Route]): Route

    Checks whether the unmatchedPath of the akka.http.javadsl.server.RequestContext has a prefix matched by the given PathMatcher.

    Checks whether the unmatchedPath of the akka.http.javadsl.server.RequestContext has a prefix matched by the given PathMatcher. However, as opposed to the pathPrefix directive the matched path is not actually "consumed".

    Definition Classes
    PathDirectives
  244. def recoverRejections(f: Function[Iterable[Rejection], RouteResult], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  245. def recoverRejectionsWith(f: Function[Iterable[Rejection], CompletionStage[RouteResult]], inner: Supplier[Route]): Route
    Definition Classes
    BasicDirectives
  246. def redirect(uri: Uri, redirectionType: StatusCode): Route

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

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

    redirectionType

    A status code from StatusCodes, which must be a redirection type.

    Definition Classes
    RouteDirectives
  247. def redirectToNoTrailingSlashIfPresent(redirectionType: StatusCode, inner: Supplier[Route]): Route

    If the request path ends with a slash, redirect to the same uri without trailing slash in the path.

    If the request path ends with a slash, redirect to the same uri without trailing slash in the path.

    Caveat: #pathSingleSlash directive will not match inside of this directive.

    redirectionType

    A status code from StatusCodes, which must be a redirection type.

    Definition Classes
    PathDirectives
  248. def redirectToTrailingSlashIfMissing(redirectionType: StatusCode, inner: Supplier[Route]): Route

    If the request path doesn't end with a slash, redirect to the same uri with trailing slash in the path.

    If the request path doesn't end with a slash, redirect to the same uri with trailing slash in the path.

    Caveat: #path without trailing slash and #pathEnd directives will not match inside of this directive.

    redirectionType

    A status code from StatusCodes, which must be a redirection type.

    Definition Classes
    PathDirectives
  249. def reject(): Route

    Rejects the request with an empty rejection (usually used for "no directive matched").

    Rejects the request with an empty rejection (usually used for "no directive matched").

    Definition Classes
    RouteDirectives
  250. def reject(rejection: Rejection, rejections: Rejection*): Route

    Rejects the request with the given rejections, or with an empty set of rejections if no rejections are given.

    Rejects the request with the given rejections, or with an empty set of rejections if no rejections are given.

    Definition Classes
    RouteDirectives
    Annotations
    @varargs()
  251. def rejectEmptyResponse(inner: Supplier[Route]): Route

    Converts responses with an empty entity into (empty) rejections.

    Converts responses with an empty entity into (empty) rejections. This way you can, for example, have the marshalling of a None option be treated as if the request could not be matched.

    Definition Classes
    MiscDirectives
  252. def request[T](unmarshaller: Unmarshaller[_ >: HttpRequest, T], inner: Function[T, Route]): Route

    Unmarshalls the request using the given unmarshaller, and passes the result to [inner].

    Unmarshalls the request using the given unmarshaller, and passes the result to [inner]. If there is a problem with unmarshalling the request is rejected with the akka.http.javadsl.server.Rejection produced by the unmarshaller.

    Definition Classes
    MarshallingDirectives
  253. def requestEncodedWith(encoding: HttpEncoding, inner: Supplier[Route]): Route

    Rejects the request with an UnsupportedRequestEncodingRejection if its encoding doesn't match the given one.

    Rejects the request with an UnsupportedRequestEncodingRejection if its encoding doesn't match the given one.

    Definition Classes
    CodingDirectives
  254. def requestEntityEmpty(inner: Supplier[Route]): Route

    Rejects if the request entity is non-empty.

    Rejects if the request entity is non-empty.

    Definition Classes
    MiscDirectives
  255. def requestEntityPresent(inner: Supplier[Route]): Route

    Rejects with a RequestEntityExpectedRejection if the request entity is empty.

    Rejects with a RequestEntityExpectedRejection if the request entity is empty. Non-empty requests are passed on unchanged to the inner route.

    Definition Classes
    MiscDirectives
  256. def requireClientCertificateIdentity(cnRegex: String, inner: Supplier[Route]): Route

    Require the client to be authenticated, if not reject the request with a akka.http.javadsl.server.TlsClientUnverifiedRejection, also require the one of the client certificate ip or dns SANs (Subject Alternative Name) or if non exists, the CN (Common Name) to match the given regular expression, if not the request is rejected with a akka.http.javadsl.server.TlsClientIdentityRejection

    Require the client to be authenticated, if not reject the request with a akka.http.javadsl.server.TlsClientUnverifiedRejection, also require the one of the client certificate ip or dns SANs (Subject Alternative Name) or if non exists, the CN (Common Name) to match the given regular expression, if not the request is rejected with a akka.http.javadsl.server.TlsClientIdentityRejection

    Using this directives requires tls-session info parsing to be enabled: akka.http.server.parsing.tls-session-info-header = on

    The javax.net.ssl.SSLEngine for the server needs to be set up with setWantClientAuth(true) or setNeedClientAuth(true) or else every request will be failed.

    Definition Classes
    TlsDirectives
  257. def respondWithDefaultHeader(responseHeader: HttpHeader, inner: Supplier[Route]): Route

    Adds the given response header to all HTTP responses of its inner Route, if the response from the inner Route doesn't already contain a header with the same name.

    Adds the given response header to all HTTP responses of its inner Route, if the response from the inner Route doesn't already contain a header with the same name.

    Definition Classes
    RespondWithDirectives
  258. def respondWithDefaultHeaders(responseHeaders: Iterable[HttpHeader], inner: Supplier[Route]): Route

    Adds the given response headers to all HTTP responses of its inner Route, if a header already exists it is not added again.

    Adds the given response headers to all HTTP responses of its inner Route, if a header already exists it is not added again.

    Definition Classes
    RespondWithDirectives
  259. def respondWithHeader(responseHeader: HttpHeader, inner: Supplier[Route]): Route

    Unconditionally adds the given response header to all HTTP responses of its inner Route.

    Unconditionally adds the given response header to all HTTP responses of its inner Route.

    Definition Classes
    RespondWithDirectives
  260. def respondWithHeaders(responseHeaders: Iterable[HttpHeader], inner: Supplier[Route]): Route

    Unconditionally adds the given response headers to all HTTP responses of its inner Route.

    Unconditionally adds the given response headers to all HTTP responses of its inner Route.

    Definition Classes
    RespondWithDirectives
  261. def responseEncodingAccepted(encoding: HttpEncoding, inner: Supplier[Route]): Route

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

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

    Definition Classes
    CodingDirectives
  262. def runRoute(route: Route, request: HttpRequest, defaultHostInfo: DefaultHostInfo): TestRouteResult
    Definition Classes
    RouteTest
  263. def runRoute(route: Route, request: HttpRequest): TestRouteResult
    Definition Classes
    RouteTest
  264. def runRouteClientServer(route: Route, request: HttpRequest): TestRouteResult
    Definition Classes
    RouteTest
  265. def runRouteUnSealed(route: Route, request: HttpRequest, defaultHostInfo: DefaultHostInfo): TestRouteResult
    Definition Classes
    RouteTest
  266. def runRouteUnSealed(route: Route, request: HttpRequest): TestRouteResult
    Definition Classes
    RouteTest
  267. def scheme(name: String, inner: Supplier[Route]): Route

    Rejects all requests whose Uri scheme does not match the given one.

    Rejects all requests whose Uri scheme does not match the given one.

    Definition Classes
    SchemeDirectives
  268. def selectPreferredLanguage(languages: Iterable[Language], inner: Function[Language, Route]): Route

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

    Inspects the request's Accept-Language header and determines, which of the given language alternatives is preferred by the client. (See http://tools.ietf.org/html/rfc7231#section-5.3.5 for more details on the negotiation logic.) If there are several best language alternatives that the client has equal preference for (even if this preference is zero!) the order of the arguments is used as a tie breaker (First one wins).

    If [languages] is empty, the route is rejected.

    Definition Classes
    MiscDirectives
  269. def setCookie(cookies: Iterable[HttpCookie], inner: Supplier[Route]): Route

    Adds a Set-Cookie response header with the given cookies.

    Adds a Set-Cookie response header with the given cookies.

    Definition Classes
    CookieDirectives
  270. def setCookie(cookie: HttpCookie, inner: Supplier[Route]): Route

    Adds a Set-Cookie response header with the given cookie.

    Adds a Set-Cookie response header with the given cookie.

    Definition Classes
    CookieDirectives
  271. def storeUploadedFile(fieldName: String, destFn: Function[FileInfo, File], inner: BiFunction[FileInfo, File, Route]): Route

    Streams the bytes of the file submitted using multipart with the given file name into a designated file on disk.

    Streams the bytes of the file submitted using multipart with the given file name into a designated file on disk. If there is an error writing to disk the request will be failed with the thrown exception, if there is no such field the request will be rejected, if there are multiple file parts with the same name, the first one will be used and the subsequent ones ignored.

    Definition Classes
    FileUploadDirectives
  272. def storeUploadedFiles(fieldName: String, destFn: Function[FileInfo, File], inner: Function[List[Entry[FileInfo, File]], Route]): Route

    Streams the bytes of the file submitted using multipart with the given field name into designated files on disk.

    Streams the bytes of the file submitted using multipart with the given field name into designated files on disk. If there is an error writing to disk the request will be failed with the thrown exception, if there is no such field the request will be rejected. Stored files are cleaned up on exit but not on failure.

    Definition Classes
    FileUploadDirectives
  273. implicit def system: ActorSystem
    Definition Classes
    JUnitRouteTestBaseRouteTest
  274. def testRoute(first: Route, others: Route*): TestRoute

    Wraps a list of route alternatives with testing support.

    Wraps a list of route alternatives with testing support.

    Definition Classes
    RouteTest
    Annotations
    @varargs()
  275. def toStrictEntity(timeout: FiniteDuration, maxBytes: Long, inner: Supplier[Route]): Route

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    To help protect against excessive memory use, the request will be aborted if the request is larger than allowed by the akka.http.parsing.max-to-strict-bytes configuration setting.

    Extracts the akka.http.javadsl.server.RequestContext itself with the strict HTTP entity, or fails the route if unable to drain the entire request body within the timeout.

    timeout

    The directive is failed if the stream isn't completed after the given timeout.

    Definition Classes
    BasicDirectives
  276. def toStrictEntity(timeout: FiniteDuration, inner: Supplier[Route]): Route

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    WARNING: This will read the entire request entity into memory and effectively disable streaming.

    To help protect against excessive memory use, the request will be aborted if the request is larger than allowed by the akka.http.parsing.max-to-strict-bytes configuration setting.

    Extracts the akka.http.javadsl.server.RequestContext itself with the strict HTTP entity, or fails the route if unable to drain the entire request body within the timeout.

    timeout

    The directive is failed if the stream isn't completed after the given timeout.

    Definition Classes
    BasicDirectives
  277. def validate(check: BooleanSupplier, errorMsg: String, inner: Supplier[Route]): Route

    Checks the given condition before running its inner route.

    Checks the given condition before running its inner route. If the condition fails the route is rejected with a ValidationRejection.

    Definition Classes
    MiscDirectives
  278. def withExecutionContext(ec: ExecutionContextExecutor, inner: Supplier[Route]): Route

    Runs its inner route with the given alternative scala.concurrent.ExecutionContextExecutor.

    Runs its inner route with the given alternative scala.concurrent.ExecutionContextExecutor.

    Definition Classes
    BasicDirectives
  279. def withLog(log: LoggingAdapter, inner: Supplier[Route]): Route

    Runs its inner route with the given alternative LoggingAdapter.

    Runs its inner route with the given alternative LoggingAdapter.

    Definition Classes
    BasicDirectives
  280. def withMaterializer(mat: Materializer, inner: Supplier[Route]): Route

    Runs its inner route with the given alternative akka.stream.Materializer.

    Runs its inner route with the given alternative akka.stream.Materializer.

    Definition Classes
    BasicDirectives
  281. def withPrecompressedMediaTypeSupport(inner: Supplier[Route]): Route

    Inspects the response entity and adds a Content-Encoding: gzip response header if the entity's media-type is precompressed with gzip and no Content-Encoding header is present yet.

    Inspects the response entity and adds a Content-Encoding: gzip response header if the entity's media-type is precompressed with gzip and no Content-Encoding header is present yet.

    Definition Classes
    CodingDirectives
  282. def withRangeSupport(inner: Supplier[Route]): Route

    Answers GET requests with an Accept-Ranges: bytes header and converts HttpResponses coming back from its inner route into partial responses if the initial request contained a valid Range request header.

    Answers GET requests with an Accept-Ranges: bytes header and converts HttpResponses coming back from its inner route into partial responses if the initial request contained a valid Range request header. The requested byte-ranges may be coalesced. This directive is transparent to non-GET requests Rejects requests with unsatisfiable ranges UnsatisfiableRangeRejection. Rejects requests with too many expected ranges.

    Note: if you want to combine this directive with conditional(...) you need to put it on the *inside* of the conditional(...) directive, i.e. conditional(...) must be on a higher level in your route structure in order to function correctly.

    For more information, see: https://tools.ietf.org/html/rfc7233

    Definition Classes
    RangeDirectives
  283. def withRequestTimeout(timeout: Duration, timeoutHandler: Function[HttpRequest, HttpResponse], inner: Supplier[Route]): RouteAdapter

    Tries to set a new request timeout and handler (if provided) at the same time.

    Tries to set a new request timeout and handler (if provided) at the same time.

    Due to the inherent raciness it is not guaranteed that the update will be applied before the previously set timeout has expired!

    Definition Classes
    TimeoutDirectives
  284. def withRequestTimeout(timeout: Duration, inner: Supplier[Route]): RouteAdapter

    Tries to set a new request timeout and handler (if provided) at the same time.

    Tries to set a new request timeout and handler (if provided) at the same time.

    Due to the inherent raciness it is not guaranteed that the update will be applied before the previously set timeout has expired!

    Definition Classes
    TimeoutDirectives
  285. def withRequestTimeoutResponse(timeoutHandler: Function[HttpRequest, HttpResponse], inner: Supplier[Route]): RouteAdapter

    Tries to set a new request timeout handler, which produces the timeout response for a given request.

    Tries to set a new request timeout handler, which produces the timeout response for a given request. Note that the handler must produce the response synchronously and shouldn't block!

    Due to the inherent raciness it is not guaranteed that the update will be applied before the previously set timeout has expired!

    Definition Classes
    TimeoutDirectives
  286. def withSettings(s: RoutingSettings, inner: Supplier[Route]): Route

    Runs its inner route with the given alternative RoutingSettings.

    Runs its inner route with the given alternative RoutingSettings.

    Definition Classes
    BasicDirectives
  287. def withSizeLimit(maxBytes: Long, inner: Supplier[Route]): Route

    Fails the stream with akka.http.scaladsl.model.EntityStreamSizeException if its request entity size exceeds given limit.

    Fails the stream with akka.http.scaladsl.model.EntityStreamSizeException if its request entity size exceeds given limit. Limit given as parameter overrides limit configured with akka.http.parsing.max-content-length.

    Beware that request entity size check is executed when entity is consumed.

    Definition Classes
    MiscDirectives
  288. def withoutRequestTimeout(inner: Supplier[Route]): RouteAdapter
    Definition Classes
    TimeoutDirectives
  289. def withoutSizeLimit(inner: Supplier[Route]): Route

    Disables the size limit (configured by akka.http.parsing.max-content-length by default) checking on the incoming akka.http.javadsl.model.HttpRequest entity.

    Disables the size limit (configured by akka.http.parsing.max-content-length by default) checking on the incoming akka.http.javadsl.model.HttpRequest entity. Can be useful when handling arbitrarily large data uploads in specific parts of your routes.

    Definition Classes
    MiscDirectives
    Note

    Usage of withoutSizeLimit is not recommended as it turns off the too large payload protection. Therefore, we highly encourage using withSizeLimit instead, providing it with a value high enough to successfully handle the route in need of big entities.

  290. def extractUpgradeToWebSocket(inner: Function[UpgradeToWebSocket, Route]): Route

    Extract the UpgradeToWebSocket header if existent.

    Extract the UpgradeToWebSocket header if existent. Rejects with an ExpectedWebSocketRequestRejection, otherwise.

    Definition Classes
    WebSocketDirectives
    Annotations
    @Deprecated @deprecated
    Deprecated

    (Since version 10.2.0) use extractWebSocketUpgrade instead

  291. def route(alternatives: Route*): Route

    Java-specific call added so you can chain together multiple alternate routes using comma, rather than having to explicitly call route1.orElse(route2).orElse(route3).

    Java-specific call added so you can chain together multiple alternate routes using comma, rather than having to explicitly call route1.orElse(route2).orElse(route3).

    Definition Classes
    RouteDirectives
    Annotations
    @Deprecated @deprecated @CorrespondsTo() @varargs()
    Deprecated

    (Since version 10.1.6) Use the RouteDirectives.concat method instead.