object Directives extends Directives

Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Directives
  2. Directives
  3. FramedEntityStreamingDirectives
  4. WebSocketDirectives
  5. SecurityDirectives
  6. SchemeDirectives
  7. RouteDirectives
  8. RespondWithDirectives
  9. RangeDirectives
  10. PathDirectives
  11. ImplicitPathMatcherConstruction
  12. PathMatchers
  13. TimeoutDirectives
  14. ParameterDirectives
  15. MiscDirectives
  16. MethodDirectives
  17. MarshallingDirectives
  18. HostDirectives
  19. HeaderDirectives
  20. FutureDirectives
  21. FormFieldDirectives
  22. ToNameReceptacleEnhancements
  23. FileUploadDirectives
  24. FileAndResourceDirectives
  25. ExecutionDirectives
  26. CodingDirectives
  27. DebuggingDirectives
  28. CookieDirectives
  29. CacheConditionDirectives
  30. BasicDirectives
  31. RouteConcatenation
  32. AnyRef
  33. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AsyncAuthenticator[T] = (Credentials) ⇒ Future[Option[T]]

    Definition Classes
    SecurityDirectives
  2. type AsyncAuthenticatorPF[T] = PartialFunction[Credentials, Future[T]]

    Definition Classes
    SecurityDirectives
  3. type AuthenticationResult[+T] = Either[HttpChallenge, T]

    The result of an HTTP authentication attempt is either the user object or an HttpChallenge to present to the browser.

    The result of an HTTP authentication attempt is either the user object or an HttpChallenge to present to the browser.

    Definition Classes
    SecurityDirectives
  4. type Authenticator[T] = (Credentials) ⇒ Option[T]

    Definition Classes
    SecurityDirectives
  5. type AuthenticatorPF[T] = PartialFunction[Credentials, T]

    Definition Classes
    SecurityDirectives
  6. type RequestToSourceUnmarshaller[T] = Unmarshaller[HttpRequest, Source[T, NotUsed]]
  7. abstract class NumberMatcher [T] extends PathMatcher1[T]

    Definition Classes
    PathMatchers

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val DoubleNumber: PathMatcher1[Double]

    A PathMatcher that matches and extracts a Double value.

    A PathMatcher that matches and extracts a Double value. The matched string representation is the pure decimal, optionally signed form of a double value, i.e. without exponent.

    Definition Classes
    PathMatchers
  5. val JavaUUID: PathMatcher1[UUID]

    A PathMatcher that matches and extracts a java.util.UUID instance.

    A PathMatcher that matches and extracts a java.util.UUID instance.

    Definition Classes
    PathMatchers
  6. val Neutral: PathMatcher0

    A PathMatcher that always matches, doesn't consume anything and extracts nothing.

    A PathMatcher that always matches, doesn't consume anything and extracts nothing. Serves mainly as a neutral element in PathMatcher composition.

    Definition Classes
    PathMatchers
  7. def Segments(min: Int, max: Int): PathMatcher1[List[String]]

    A PathMatcher that matches between min and max (both inclusively) path segments (separated by slashes) as a List[String].

    A PathMatcher that matches between min and max (both inclusively) path segments (separated by slashes) as a List[String]. If there are more than count segments present the remaining ones will be left unmatched. If the path has a trailing slash this slash will *not* be matched.

    Definition Classes
    PathMatchers
  8. def Segments(count: Int): PathMatcher1[List[String]]

    A PathMatcher that matches the given number of path segments (separated by slashes) as a List[String].

    A PathMatcher that matches the given number of path segments (separated by slashes) as a List[String]. If there are more than count segments present the remaining ones will be left unmatched. If the path has a trailing slash this slash will *not* be matched.

    Definition Classes
    PathMatchers
  9. val Segments: PathMatcher1[List[String]]

    A PathMatcher that matches up to 128 remaining segments as a List[String].

    A PathMatcher that matches up to 128 remaining segments as a List[String]. This can also be no segments resulting in the empty list. If the path has a trailing slash this slash will *not* be matched.

    Definition Classes
    PathMatchers
  10. def _defaultClassLoader: ClassLoader
    Attributes
    protected[akka.http]
    Definition Classes
    FileAndResourceDirectives
  11. implicit def _enhanceRouteWithConcatenation(route: Route): RouteWithConcatenation

    Definition Classes
    RouteConcatenation
  12. implicit def _regex2PathMatcher(regex: Regex): PathMatcher1[String]

    Creates a PathMatcher that consumes (a prefix of) the first path segment if the path begins with a segment (a prefix of) which matches the given regex.

    Creates a PathMatcher that consumes (a prefix of) the first path segment if the path begins with a segment (a prefix of) which matches the given regex. Extracts either the complete match (if the regex doesn't contain a capture group) or the capture group (if the regex contains exactly one). If the regex contains more than one capture group the method throws an IllegalArgumentException.

    Definition Classes
    ImplicitPathMatcherConstruction
  13. implicit def _segmentStringToPathMatcher(segment: String): PathMatcher0

    Creates a PathMatcher that consumes (a prefix of) the first path segment (if the path begins with a segment).

    Creates a PathMatcher that consumes (a prefix of) the first path segment (if the path begins with a segment).

    Definition Classes
    ImplicitPathMatcherConstruction
  14. implicit def _string2NR(string: String): NameReceptacle[String]
    Definition Classes
    ToNameReceptacleEnhancements
  15. implicit def _stringExtractionPair2PathMatcher[T](tuple: (String, T)): PathMatcher1[T]

    Creates a PathMatcher that consumes (a prefix of) the first path segment (if the path begins with a segment) and extracts a given value.

    Creates a PathMatcher that consumes (a prefix of) the first path segment (if the path begins with a segment) and extracts a given value.

    Definition Classes
    ImplicitPathMatcherConstruction
  16. implicit def _stringNameOptionReceptacle2PathMatcher(nr: NameOptionReceptacle[String]): PathMatcher0

  17. implicit def _symbol2NR(symbol: Symbol): NameReceptacle[String]
    Definition Classes
    ToNameReceptacleEnhancements
  18. implicit def _valueMap2PathMatcher[T](valueMap: Map[String, T]): PathMatcher1[T]

    Creates a PathMatcher from the given Map of path segments (prefixes) to extracted values.

    Creates a PathMatcher from the given Map of path segments (prefixes) to extracted values. If the unmatched path starts with a segment having one of the maps keys as a prefix the matcher consumes this path segment (prefix) and extracts the corresponding map value. For keys sharing a common prefix the longest matching prefix is selected.

    Definition Classes
    ImplicitPathMatcherConstruction
  19. def as[T](implicit um: FromRequestUnmarshaller[T]): FromRequestUnmarshaller[T]

    Returns the in-scope FromRequestUnmarshaller for the given type.

    Returns the in-scope FromRequestUnmarshaller for the given type.

    Definition Classes
    MarshallingDirectives
  20. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  21. final def asSourceOf[T](support: EntityStreamingSupport)(implicit um: FromByteStringUnmarshaller[T]): RequestToSourceUnmarshaller[T]

    Extracts entity as akka.stream.scaladsl.Source of elements of type T.

    Extracts entity as akka.stream.scaladsl.Source of elements of type T. This is achieved by applying the implicitly provided (in the following order):

    - 1st: chunk-up the incoming ByteStrings by applying the Content-Type-aware framing - 2nd: apply the Unmarshaller (from ByteString to T) for each of the respective "chunks" (e.g. for each JSON element contained within an array).

    The request will be rejected with an akka.http.scaladsl.server.UnsupportedRequestContentTypeRejection if its ContentType is not supported by the used framing or unmarshaller.

    Cancelling extracted akka.stream.scaladsl.Source closes the connection abruptly (same as cancelling the entity.dataBytes).

    See also MiscDirectives.withoutSizeLimit as you may want to allow streaming infinite streams of data in this route. By default the uploaded data is limited by the akka.http.parsing.max-content-length.

    Definition Classes
    FramedEntityStreamingDirectives
  22. final def asSourceOf[T](implicit um: FromByteStringUnmarshaller[T], support: EntityStreamingSupport): RequestToSourceUnmarshaller[T]

    Extracts entity as akka.stream.scaladsl.Source of elements of type T.

    Extracts entity as akka.stream.scaladsl.Source of elements of type T. This is achieved by applying the implicitly provided (in the following order):

    - 1st: chunk-up the incoming ByteStrings by applying the Content-Type-aware framing - 2nd: apply the Unmarshaller (from ByteString to T) for each of the respective "chunks" (e.g. for each JSON element contained within an array).

    The request will be rejected with an akka.http.scaladsl.server.UnsupportedRequestContentTypeRejection if its ContentType is not supported by the used framing or unmarshaller.

    Cancelling extracted akka.stream.scaladsl.Source closes the connection abruptly (same as cancelling the entity.dataBytes).

    See also MiscDirectives.withoutSizeLimit as you may want to allow streaming infinite streams of data in this route. By default the uploaded data is limited by the akka.http.parsing.max-content-length.

    Definition Classes
    FramedEntityStreamingDirectives
  23. def authenticateBasic[T](realm: String, authenticator: Authenticator[T]): AuthenticationDirective[T]

    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.

    Definition Classes
    SecurityDirectives
  24. def authenticateBasicAsync[T](realm: String, authenticator: AsyncAuthenticator[T]): AuthenticationDirective[T]

    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.

    Definition Classes
    SecurityDirectives
  25. def authenticateBasicPF[T](realm: String, authenticator: AuthenticatorPF[T]): AuthenticationDirective[T]

    A directive that wraps the inner route with Http Basic authentication support.

    A directive that 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.

    Definition Classes
    SecurityDirectives
  26. def authenticateBasicPFAsync[T](realm: String, authenticator: AsyncAuthenticatorPF[T]): AuthenticationDirective[T]

    A directive that wraps the inner route with Http Basic authentication support.

    A directive that 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.

    Definition Classes
    SecurityDirectives
  27. def authenticateOAuth2[T](realm: String, authenticator: Authenticator[T]): AuthenticationDirective[T]

    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.

    Definition Classes
    SecurityDirectives
  28. def authenticateOAuth2Async[T](realm: String, authenticator: AsyncAuthenticator[T]): AuthenticationDirective[T]

    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.

    Definition Classes
    SecurityDirectives
  29. def authenticateOAuth2PF[T](realm: String, authenticator: AuthenticatorPF[T]): AuthenticationDirective[T]

    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.

    Definition Classes
    SecurityDirectives
  30. def authenticateOAuth2PFAsync[T](realm: String, authenticator: AsyncAuthenticatorPF[T]): AuthenticationDirective[T]

    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.

    Definition Classes
    SecurityDirectives
  31. def authenticateOrRejectWithChallenge[C <: HttpCredentials, T](authenticator: (Option[C]) ⇒ Future[AuthenticationResult[T]])(implicit arg0: ClassTag[C]): AuthenticationDirective[T]

    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
  32. def authenticateOrRejectWithChallenge[T](authenticator: (Option[HttpCredentials]) ⇒ Future[AuthenticationResult[T]]): AuthenticationDirective[T]

    Lifts an authenticator function into a directive.

    Lifts an authenticator function into a directive. The authenticator function gets passed in credentials from the 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 AuthenticationFailedRejection that contains this challenge to be added to the response.

    Definition Classes
    SecurityDirectives
  33. def authorize(check: (RequestContext) ⇒ Boolean): Directive0

    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 AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
  34. def authorize(check: ⇒ Boolean): Directive0

    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 AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
  35. def authorizeAsync(check: (RequestContext) ⇒ Future[Boolean]): Directive0

    Asynchronous version of authorize.

    Asynchronous version of authorize. If the Future fails or is completed with false authorization fails and the route is rejected with an AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
  36. def authorizeAsync(check: ⇒ Future[Boolean]): Directive0

    Asynchronous version of authorize.

    Asynchronous version of authorize. If the Future fails or is completed with false authorization fails and the route is rejected with an AuthorizationFailedRejection.

    Definition Classes
    SecurityDirectives
  37. def cancelRejection(rejection: Rejection): Directive0

    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
  38. def cancelRejections(cancelFilter: (Rejection) ⇒ Boolean): Directive0

    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
  39. def cancelRejections(classes: Class[_]*): Directive0

    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
  40. def checkSameOrigin(allowed: Default): Directive0

    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
  41. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. def complete(m: ⇒ ToResponseMarshallable): StandardRoute

    Completes the request using the given arguments.

    Completes the request using the given arguments.

    Definition Classes
    RouteDirectives
  43. def completeOrRecoverWith(magnet: CompleteOrRecoverWithMagnet): Directive1[Throwable]

    "Unwraps" a Future[T] and runs the inner route when the future has failed with the future's failure exception as an extraction of type Throwable.

    "Unwraps" a Future[T] and runs the inner route when the future has failed with the future's failure exception as an extraction of type Throwable. If the future succeeds the request is completed using the values marshaller (This directive therefore requires a marshaller for the futures type to be implicitly available.)

    Definition Classes
    FutureDirectives
  44. def completeWith[T](marshaller: ToResponseMarshaller[T])(inner: ((T) ⇒ Unit) ⇒ Unit): 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
  45. def concat(routes: Route*): Route

    Tries the supplied routes in sequence, returning the result of the first route that doesn't reject the request.

    Tries the supplied routes in sequence, returning the result of the first route that doesn't reject the request. This is an alternative to direct usage of the infix ~ operator. The ~ can be prone to programmer error, because if it is omitted, the program will still be syntactically correct, but will not actually attempt to match multiple routes, as intended.

    routes

    subroutes to concatenate

    returns

    the concatenated route

    Definition Classes
    RouteConcatenation
  46. def conditional(eTag: Option[EntityTag], lastModified: Option[DateTime]): Directive0

    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
  47. def conditional(eTag: EntityTag, lastModified: DateTime): Directive0

    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
  48. def conditional(lastModified: DateTime): Directive0

    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
  49. def conditional(eTag: EntityTag): Directive0

    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
  50. def cookie(name: String): Directive1[HttpCookiePair]

    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 MissingCookieRejection.

    Definition Classes
    CookieDirectives
  51. def decodeRequest: Directive0

    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
  52. def decodeRequestWith(decoders: Decoder*): Directive0

    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
  53. def decodeRequestWith(decoder: Decoder): Directive0

    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
  54. def delete: Directive0

    Rejects all non-DELETE requests.

    Rejects all non-DELETE requests.

    Definition Classes
    MethodDirectives
  55. def deleteCookie(name: String, domain: String = "", path: String = ""): Directive0

    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.

    Definition Classes
    CookieDirectives
  56. def deleteCookie(first: HttpCookie, more: HttpCookie*): Directive0

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

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

    Definition Classes
    CookieDirectives
  57. def encodeResponse: Directive0

    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
  58. def encodeResponseWith(first: Encoder, more: Encoder*): Directive0

    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.

    Definition Classes
    CodingDirectives
  59. def entity[T](um: FromRequestUnmarshaller[T]): Directive1[T]

    Unmarshalls the requests entity to the given type passes it to its inner Route.

    Unmarshalls the requests entity to the given type passes it to its inner Route. If there is a problem with unmarshalling the request is rejected with the Rejection produced by the unmarshaller.

    Definition Classes
    MarshallingDirectives
  60. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  61. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  62. def extract[T](f: (RequestContext) ⇒ T): Directive1[T]

    Extracts a single value using the given function.

    Extracts a single value using the given function.

    Definition Classes
    BasicDirectives
  63. def extractActorSystem: Directive1[ActorSystem]

    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
  64. def extractClientIP: Directive1[RemoteAddress]

    Extracts the client's IP from either the X-Forwarded-For, Remote-Address or X-Real-IP header (in that order of priority).

    Extracts the client's IP from either the X-Forwarded-For, Remote-Address or X-Real-IP header (in that order of priority).

    Definition Classes
    MiscDirectives
  65. def extractCredentials: Directive1[Option[HttpCredentials]]

    Extracts the potentially present HttpCredentials provided with the request's Authorization header.

    Extracts the potentially present HttpCredentials provided with the request's Authorization header.

    Definition Classes
    SecurityDirectives
  66. def extractDataBytes: Directive1[Source[ByteString, Any]]

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

    Definition Classes
    BasicDirectives
  67. def extractExecutionContext: Directive1[ExecutionContextExecutor]

    Extracts the scala.concurrent.ExecutionContextExecutor from the akka.http.scaladsl.server.RequestContext.

  68. def extractHost: Directive1[String]

    Extracts the hostname part of the Host request header value.

    Extracts the hostname part of the Host request header value.

    Definition Classes
    HostDirectives
  69. def extractLog: Directive1[LoggingAdapter]

    Extracts the akka.event.LoggingAdapter from the akka.http.scaladsl.server.RequestContext.

  70. def extractMatchedPath: Directive1[Path]

    Extracts the already matched path from the RequestContext.

    Extracts the already matched path from the RequestContext.

    Definition Classes
    BasicDirectives
  71. def extractMaterializer: Directive1[Materializer]

    Extracts the akka.stream.Materializer from the akka.http.scaladsl.server.RequestContext.

  72. def extractMethod: Directive1[HttpMethod]

    Extracts the request method.

    Extracts the request method.

    Definition Classes
    MethodDirectives
  73. def extractOfferedWsProtocols: Directive1[Seq[String]]

    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
  74. def extractParserSettings: Directive1[ParserSettings]

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

  75. def extractRequest: Directive1[HttpRequest]

    Extracts the current HttpRequest instance.

    Extracts the current HttpRequest instance.

    Definition Classes
    BasicDirectives
  76. def extractRequestContext: Directive1[RequestContext]

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

    Definition Classes
    BasicDirectives
  77. def extractRequestEntity: Directive1[RequestEntity]

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

  78. def extractScheme: Directive1[String]

    Extracts the Uri scheme from the request.

    Extracts the Uri scheme from the request.

    Definition Classes
    SchemeDirectives
  79. def extractSettings: Directive1[RoutingSettings]

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

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

    Definition Classes
    BasicDirectives
  80. def extractStrictEntity(timeout: FiniteDuration): Directive1[Strict]

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

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

    Converts the HttpEntity from the akka.http.scaladsl.server.RequestContext into an akka.http.scaladsl.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
  81. def extractUnmatchedPath: Directive1[Path]

    Extracts the yet unmatched path from the RequestContext.

    Extracts the yet unmatched path from the RequestContext.

    Definition Classes
    BasicDirectives
  82. def extractUpgradeToWebSocket: Directive1[UpgradeToWebSocket]

    Extract the UpgradeToWebSocket header if existent.

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

    Definition Classes
    WebSocketDirectives
  83. def extractUri: Directive1[Uri]

    Extracts the complete request URI.

    Extracts the complete request URI.

    Definition Classes
    BasicDirectives
  84. def failWith(error: Throwable): StandardRoute

    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
  85. def fileUpload(fieldName: String): Directive1[(FileInfo, Source[ByteString, Any])]

    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
  86. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  87. def formField(pdm: FieldMagnet): Out

    Extracts an HTTP form field from the request.

    Extracts an HTTP form field from the request. Rejects the request if the defined form field matcher(s) don't match.

    Definition Classes
    FormFieldDirectives
  88. def formFieldMap: Directive1[Map[String, String]]

    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
  89. def formFieldMultiMap: Directive1[Map[String, List[String]]]

    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
  90. def formFieldSeq: Directive1[Seq[(String, String)]]

    Extracts HTTP form fields from the request as a Seq[(String, String)].

    Extracts HTTP form fields from the request as a Seq[(String, String)].

    Definition Classes
    FormFieldDirectives
  91. def formFields(pdm: FieldMagnet): Out

    Extracts a number of HTTP form field from the request.

    Extracts a number of HTTP form field from the request. Rejects the request if the defined form field matcher(s) don't match.

    Definition Classes
    FormFieldDirectives
  92. def get: Directive0

    Rejects all non-GET requests.

    Rejects all non-GET requests.

    Definition Classes
    MethodDirectives
  93. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  94. def getFromBrowseableDirectories(directories: String*)(implicit 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
  95. def getFromBrowseableDirectory(directory: String)(implicit renderer: DirectoryRenderer, resolver: ContentTypeResolver): Route

    Same as getFromBrowseableDirectories with only one directory.

    Same as getFromBrowseableDirectories with only one directory.

    Definition Classes
    FileAndResourceDirectives
  96. def getFromDirectory(directoryName: String)(implicit resolver: ContentTypeResolver): Route

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

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

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

    Completes GET requests with the content of the given file.

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

    Definition Classes
    FileAndResourceDirectives
  98. def getFromFile(file: File)(implicit resolver: ContentTypeResolver): Route

    Completes GET requests with the content of the given file.

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

    Definition Classes
    FileAndResourceDirectives
  99. def getFromFile(fileName: String)(implicit resolver: ContentTypeResolver): Route

    Completes GET requests with the content of the given file.

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

    Definition Classes
    FileAndResourceDirectives
  100. def getFromResource(resourceName: String, contentType: ContentType, classLoader: ClassLoader = _defaultClassLoader): Route

    Completes GET requests with the content of the given resource.

    Completes GET requests with the content of the given resource. If the resource is a directory or cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  101. def getFromResource(resourceName: String)(implicit resolver: ContentTypeResolver): Route

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

    Completes GET requests with the content of the given class-path resource. If the resource cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  102. def getFromResourceDirectory(directoryName: String, classLoader: ClassLoader = _defaultClassLoader)(implicit resolver: ContentTypeResolver): Route

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory".

    Same as "getFromDirectory" except that the file is not fetched from the file system but rather from a "resource directory". If the requested resource is itself a directory or cannot be found or read the Route rejects the request.

    Definition Classes
    FileAndResourceDirectives
  103. def handleExceptions(handler: ExceptionHandler): Directive0

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

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

    Definition Classes
    ExecutionDirectives
  104. def handleRejections(handler: RejectionHandler): Directive0

    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
  105. def handleWebSocketMessages(handler: Flow[Message, Message, Any]): 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
  106. def handleWebSocketMessagesForOptionalProtocol(handler: Flow[Message, Message, Any], subprotocol: Option[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
  107. def handleWebSocketMessagesForProtocol(handler: Flow[Message, Message, Any], 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
  108. def handleWith[A, B](f: (A) ⇒ B)(implicit um: FromRequestUnmarshaller[A], m: ToResponseMarshaller[B]): 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
  109. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  110. def head: Directive0

    Rejects all non-HEAD requests.

    Rejects all non-HEAD requests.

    Definition Classes
    MethodDirectives
  111. def headerValue[T](f: (HttpHeader) ⇒ Option[T]): Directive1[T]

    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.scaladsl.server.MalformedHeaderRejection.

    Definition Classes
    HeaderDirectives
  112. def headerValueByName(headerName: String): Directive1[String]

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

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

    Definition Classes
    HeaderDirectives
  113. def headerValueByName(headerName: Symbol): Directive1[String]

    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.scaladsl.server.MissingHeaderRejection.

    Definition Classes
    HeaderDirectives
  114. def headerValueByType[T](magnet: HeaderMagnet[T]): Directive1[T]

    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.scaladsl.server.MissingHeaderRejection.

    Custom headers will only be matched by this directive if they extend ModeledCustomHeader and provide a companion extending ModeledCustomHeaderCompanion.

    Definition Classes
    HeaderDirectives
  115. def headerValuePF[T](pf: PartialFunction[HttpHeader, T]): Directive1[T]

    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
  116. def host(regex: Regex): Directive1[String]

    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
  117. def host(predicate: (String) ⇒ Boolean): Directive0

    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
  118. def host(hostNames: String*): Directive0

    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
  119. def ignoreTrailingSlash: Directive0

    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
  120. def instanceOf[T](implicit m: ToResponseMarshaller[T]): ToResponseMarshaller[T]

    Returns the in-scope Marshaller for the given type.

    Returns the in-scope Marshaller for the given type.

    Definition Classes
    MarshallingDirectives
  121. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  122. def listDirectoryContents(directories: String*)(implicit renderer: DirectoryRenderer): 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
  123. def logRequest(magnet: LoggingMagnet[(HttpRequest) ⇒ Unit]): Directive0

    Produces a log entry for every incoming request.

    Produces a log entry for every incoming request.

    Definition Classes
    DebuggingDirectives
  124. def logRequestResult(magnet: LoggingMagnet[(HttpRequest) ⇒ (RouteResult) ⇒ Unit]): Directive0

    Produces a log entry for every incoming request and RouteResult.

    Produces a log entry for every incoming request and RouteResult.

    Definition Classes
    DebuggingDirectives
  125. def logResult(magnet: LoggingMagnet[(RouteResult) ⇒ Unit]): Directive0

    Produces a log entry for every RouteResult.

    Produces a log entry for every RouteResult.

    Definition Classes
    DebuggingDirectives
  126. def mapInnerRoute(f: (Route) ⇒ Route): Directive0

    Definition Classes
    BasicDirectives
  127. def mapRejections(f: (Seq[Rejection]) ⇒ Seq[Rejection]): Directive0

    Definition Classes
    BasicDirectives
  128. def mapRequest(f: (HttpRequest) ⇒ HttpRequest): Directive0

    Definition Classes
    BasicDirectives
  129. def mapRequestContext(f: (RequestContext) ⇒ RequestContext): Directive0

    Definition Classes
    BasicDirectives
  130. def mapResponse(f: (HttpResponse) ⇒ HttpResponse): Directive0

    Definition Classes
    BasicDirectives
  131. def mapResponseEntity(f: (ResponseEntity) ⇒ ResponseEntity): Directive0

    Definition Classes
    BasicDirectives
  132. def mapResponseHeaders(f: (Seq[HttpHeader]) ⇒ Seq[HttpHeader]): Directive0

    Definition Classes
    BasicDirectives
  133. def mapRouteResult(f: (RouteResult) ⇒ RouteResult): Directive0

    Definition Classes
    BasicDirectives
  134. def mapRouteResultFuture(f: (Future[RouteResult]) ⇒ Future[RouteResult]): Directive0

    Definition Classes
    BasicDirectives
  135. def mapRouteResultPF(f: PartialFunction[RouteResult, RouteResult]): Directive0

    Definition Classes
    BasicDirectives
  136. def mapRouteResultWith(f: (RouteResult) ⇒ Future[RouteResult]): Directive0

    Definition Classes
    BasicDirectives
  137. def mapRouteResultWithPF(f: PartialFunction[RouteResult, Future[RouteResult]]): Directive0

    Definition Classes
    BasicDirectives
  138. def mapSettings(f: (RoutingSettings) ⇒ RoutingSettings): Directive0

    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
  139. def mapUnmatchedPath(f: (Path) ⇒ Path): Directive0

    Transforms the unmatchedPath of the RequestContext using the given function.

    Transforms the unmatchedPath of the RequestContext using the given function.

    Definition Classes
    BasicDirectives
  140. def method(httpMethod: HttpMethod): Directive0

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

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

    Definition Classes
    MethodDirectives
  141. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  142. def nothingMatcher[L](implicit arg0: Tuple[L]): PathMatcher[L]

    A PathMatcher that never matches anything.

    A PathMatcher that never matches anything.

    Definition Classes
    PathMatchers
  143. final def notify(): Unit
    Definition Classes
    AnyRef
  144. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  145. def onComplete[T](future: ⇒ Future[T]): Directive1[Try[T]]

    "Unwraps" a Future[T] and runs the inner route after future completion with the future's value as an extraction of type Try[T].

    "Unwraps" a Future[T] and runs the inner route after future completion with the future's value as an extraction of type Try[T].

    Definition Classes
    FutureDirectives
  146. def onCompleteWithBreaker[T](breaker: CircuitBreaker)(future: ⇒ Future[T]): Directive1[Try[T]]

    "Unwraps" a Future[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 Future[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 CircuitBreakerOpenRejection.

    Definition Classes
    FutureDirectives
  147. def onSuccess(magnet: OnSuccessMagnet): Directive[Out]

    "Unwraps" a Future[T] and runs the inner route after future completion with the future's value as an extraction of type T.

    "Unwraps" a Future[T] and runs the inner route after future completion with the future's value as an extraction of type T. If the future fails its failure Throwable is bubbled up to the nearest ExceptionHandler. If type T is already a Tuple it is directly expanded into the respective number of extractions.

    Definition Classes
    FutureDirectives
  148. def optionalCookie(name: String): Directive1[Option[HttpCookiePair]]

    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
  149. def optionalHeaderValue[T](f: (HttpHeader) ⇒ Option[T]): Directive1[Option[T]]

    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.scaladsl.server.MalformedHeaderRejection.

    Definition Classes
    HeaderDirectives
  150. def optionalHeaderValueByName(headerName: String): Directive1[Option[String]]

    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
  151. def optionalHeaderValueByName(headerName: Symbol): Directive1[Option[String]]

    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
  152. def optionalHeaderValueByType[T <: HttpHeader](magnet: HeaderMagnet[T]): Directive1[Option[T]]

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

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

    Custom headers will only be matched by this directive if they extend ModeledCustomHeader and provide a companion extending ModeledCustomHeaderCompanion.

    Definition Classes
    HeaderDirectives
  153. def optionalHeaderValuePF[T](pf: PartialFunction[HttpHeader, T]): Directive1[Option[T]]

    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.scaladsl.server.MalformedHeaderRejection.

    Definition Classes
    HeaderDirectives
  154. def options: Directive0

    Rejects all non-OPTIONS requests.

    Rejects all non-OPTIONS requests.

    Definition Classes
    MethodDirectives
  155. def overrideMethodWithParameter(paramName: String): Directive0

    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
  156. def parameter(pdm: ParamMagnet): Out

    Extracts a query parameter value from the request.

    Extracts a query parameter value from the request. Rejects the request if the defined query parameter matcher(s) don't match.

    Due to a bug in Scala 2.10, invocations of this method sometimes fail to compile with an "too many arguments for method parameter" or "type mismatch" error.

    As a workaround add an import ParameterDirectives.ParamMagnet or use Scala 2.11.x.

    Definition Classes
    ParameterDirectives
  157. def parameterMap: Directive1[Map[String, String]]

    Extracts the request's query parameters as a Map[String, String].

    Extracts the request's query parameters as a Map[String, String].

    Definition Classes
    ParameterDirectives
  158. def parameterMultiMap: Directive1[Map[String, List[String]]]

    Extracts the request's query parameters as a Map[String, List[String]].

    Extracts the request's query parameters as a Map[String, List[String]].

    Definition Classes
    ParameterDirectives
  159. def parameterSeq: Directive1[Seq[(String, String)]]

    Extracts the request's query parameters as a Seq[(String, String)].

    Extracts the request's query parameters as a Seq[(String, String)].

    Definition Classes
    ParameterDirectives
  160. def parameters(pdm: ParamMagnet): Out

    Extracts a number of query parameter values from the request.

    Extracts a number of query parameter values from the request. Rejects the request if the defined query parameter matcher(s) don't match.

    Due to a bug in Scala 2.10, invocations of this method sometimes fail to compile with an "too many arguments for method parameters" or "type mismatch" error.

    As a workaround add an import ParameterDirectives.ParamMagnet or use Scala 2.11.x.

    Definition Classes
    ParameterDirectives
  161. def pass: Directive0

    A Directive0 that always passes the request on to its inner route (i.e.

    A Directive0 that always passes the request on to its inner route (i.e. does nothing with the request or the response).

    Definition Classes
    BasicDirectives
  162. def patch: Directive0

    Rejects all non-PATCH requests.

    Rejects all non-PATCH requests.

    Definition Classes
    MethodDirectives
  163. def path[L](pm: PathMatcher[L]): Directive[L]

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

    Applies the given PathMatcher 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 PathMatcher is extracted on the directive level.

    Definition Classes
    PathDirectives
  164. def pathEnd: Directive0

    Rejects the request if the unmatchedPath of the 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 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
  165. def pathEndOrSingleSlash: Directive0

    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") {
          pathEnd {
            // user list ...
          } ~
          path(UUID) { userId =>
            // user profile ...
          }
        }
      }
    }

    For further information, refer to:

    Definition Classes
    PathDirectives
    See also

    https://webmasters.googleblog.com/2010/04/to-slash-or-not-to-slash.html

  166. def pathPrefix[L](pm: PathMatcher[L]): Directive[L]

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

    Applies the given PathMatcher to a prefix of 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
  167. def pathPrefixTest[L](pm: PathMatcher[L]): Directive[L]

    Checks whether the unmatchedPath of the RequestContext has a prefix matched by the given PathMatcher.

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

    Definition Classes
    PathDirectives
  168. def pathSingleSlash: Directive0

    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
  169. def pathSuffix[L](pm: PathMatcher[L]): Directive[L]

    Applies the given PathMatcher to a suffix of the remaining unmatchedPath of the RequestContext.

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

    Definition Classes
    PathDirectives
  170. def pathSuffixTest[L](pm: PathMatcher[L]): Directive[L]

    Checks whether the unmatchedPath of the RequestContext has a suffix matched by the given PathMatcher.

    Checks whether the unmatchedPath of the 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
  171. def post: Directive0

    Rejects all non-POST requests.

    Rejects all non-POST requests.

    Definition Classes
    MethodDirectives
  172. def provide[T](value: T): Directive1[T]

    Injects the given value into a directive.

    Injects the given value into a directive.

    Definition Classes
    BasicDirectives
  173. def put: Directive0

    Rejects all non-PUT requests.

    Rejects all non-PUT requests.

    Definition Classes
    MethodDirectives
  174. def rawPathPrefix[L](pm: PathMatcher[L]): Directive[L]

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

    Applies the given matcher directly to a prefix of the unmatched path of the 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
  175. def rawPathPrefixTest[L](pm: PathMatcher[L]): Directive[L]

    Checks whether the unmatchedPath of the RequestContext has a prefix matched by the given PathMatcher.

    Checks whether the unmatchedPath of the 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
  176. def recoverRejections(f: (Seq[Rejection]) ⇒ RouteResult): Directive0

    Definition Classes
    BasicDirectives
  177. def recoverRejectionsWith(f: (Seq[Rejection]) ⇒ Future[RouteResult]): Directive0

    Definition Classes
    BasicDirectives
  178. def redirect(uri: Uri, redirectionType: Redirection): StandardRoute

    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.

    Definition Classes
    RouteDirectives
  179. def redirectToNoTrailingSlashIfPresent(redirectionType: Redirection): Directive0

    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.

    Note, however, that this directive doesn't apply to a URI consisting of just a single slash. HTTP does not support empty target paths, so that browsers will convert a URI such as http://example.org to http://example.org/ adding the trailing slash.

    Redirecting the single slash path URI would lead to a redirection loop.

    Caveat: pathSingleSlash directive will only match on the root path level inside of this directive.

    Definition Classes
    PathDirectives
  180. def redirectToTrailingSlashIfMissing(redirectionType: Redirection): Directive0

    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.

    Definition Classes
    PathDirectives
  181. def reject(rejections: Rejection*): StandardRoute

    Rejects the request with the given rejections.

    Rejects the request with the given rejections.

    Definition Classes
    RouteDirectives
  182. def reject: StandardRoute

    Rejects the request with an empty set of rejections.

    Rejects the request with an empty set of rejections.

    Definition Classes
    RouteDirectives
  183. def rejectEmptyResponse: Directive0

    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
  184. def requestEncodedWith(encoding: HttpEncoding): Directive0

    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
  185. def requestEntityEmpty: Directive0

    Rejects if the request entity is non-empty.

    Rejects if the request entity is non-empty.

    Definition Classes
    MiscDirectives
  186. def requestEntityPresent: Directive0

    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
  187. def respondWithDefaultHeader(responseHeader: HttpHeader): Directive0

    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
  188. def respondWithDefaultHeaders(responseHeaders: Seq[HttpHeader]): Directive0

    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
  189. def respondWithDefaultHeaders(responseHeaders: HttpHeader*): Directive0

    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
  190. def respondWithHeader(responseHeader: HttpHeader): Directive0

    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
  191. def respondWithHeaders(responseHeaders: Seq[HttpHeader]): Directive0

    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
  192. def respondWithHeaders(responseHeaders: HttpHeader*): Directive0

    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
  193. def responseEncodingAccepted(encoding: HttpEncoding): Directive0

    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
  194. def scheme(name: String): Directive0

    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
  195. def selectPreferredLanguage(first: Language, more: Language*): Directive1[Language]

    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).

    Definition Classes
    MiscDirectives
  196. def separateOnSlashes(string: String): PathMatcher0

    Converts a path string containing slashes into a PathMatcher that interprets slashes as path segment separators.

    Converts a path string containing slashes into a PathMatcher that interprets slashes as path segment separators.

    Definition Classes
    PathMatchers
  197. def setCookie(first: HttpCookie, more: HttpCookie*): Directive0

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

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

    Definition Classes
    CookieDirectives
  198. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  199. def textract[L](f: (RequestContext) ⇒ L)(implicit arg0: Tuple[L]): Directive[L]

    Extracts a number of values using the given function.

    Extracts a number of values using the given function.

    Definition Classes
    BasicDirectives
  200. def toStrictEntity(timeout: FiniteDuration): Directive0

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

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

    Extracts the akka.http.scaladsl.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
  201. def toString(): String
    Definition Classes
    AnyRef → Any
  202. def tprovide[L](values: L)(implicit arg0: Tuple[L]): Directive[L]

    Injects the given values into a directive.

    Injects the given values into a directive.

    Definition Classes
    BasicDirectives
  203. def uploadedFile(fieldName: String): Directive1[(FileInfo, File)]

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

    Streams the bytes of the file submitted using multipart with the given file name into a temporary 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
  204. def validate(check: ⇒ Boolean, errorMsg: String): Directive0

    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
  205. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  206. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  207. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  208. def withExecutionContext(ec: ExecutionContextExecutor): Directive0

    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
  209. def withLog(log: LoggingAdapter): Directive0

    Runs its inner route with the given alternative akka.event.LoggingAdapter.

    Runs its inner route with the given alternative akka.event.LoggingAdapter.

    Definition Classes
    BasicDirectives
  210. def withMaterializer(materializer: Materializer): Directive0

    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
  211. def withPrecompressedMediaTypeSupport: Directive0

    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
  212. def withRangeSupport: Directive0

    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.

    Definition Classes
    RangeDirectives
    See also

    https://tools.ietf.org/html/rfc7233

  213. def withRequestTimeout(timeout: Duration, handler: Option[(HttpRequest) ⇒ HttpResponse]): Directive0

    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!

    handler

    optional custom "timeout response" function. If left None, the default timeout HttpResponse will be used.

    Definition Classes
    TimeoutDirectives
  214. def withRequestTimeout(timeout: Duration, handler: (HttpRequest) ⇒ HttpResponse): Directive0

    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!

    handler

    optional custom "timeout response" function. If left None, the default timeout HttpResponse will be used.

    Definition Classes
    TimeoutDirectives
  215. def withRequestTimeout(timeout: Duration): Directive0

    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
  216. def withRequestTimeoutResponse(handler: (HttpRequest) ⇒ HttpResponse): Directive0

    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
  217. def withSettings(settings: RoutingSettings): Directive0

    Runs its inner route with the given alternative RoutingSettings.

    Runs its inner route with the given alternative RoutingSettings.

    Definition Classes
    BasicDirectives
  218. def withSizeLimit(maxBytes: Long): Directive0

    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
  219. def withoutRequestTimeout: Directive0

    Definition Classes
    TimeoutDirectives
  220. def withoutSizeLimit: Directive0

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

    Disables the size limit (configured by akka.http.parsing.max-content-length by default) checking on the incoming 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.

  221. object HexIntNumber extends NumberMatcher[Int]

    A PathMatcher that efficiently matches a number of hex-digits and extracts their (non-negative) Int value.

    A PathMatcher that efficiently matches a number of hex-digits and extracts their (non-negative) Int value. The matcher will not match 0 digits or a sequence of digits that would represent an Int value larger than Int.MaxValue.

    Definition Classes
    PathMatchers
  222. object HexLongNumber extends NumberMatcher[Long]

    A PathMatcher that efficiently matches a number of hex-digits and extracts their (non-negative) Long value.

    A PathMatcher that efficiently matches a number of hex-digits and extracts their (non-negative) Long value. The matcher will not match 0 digits or a sequence of digits that would represent an Long value larger than Long.MaxValue.

    Definition Classes
    PathMatchers
  223. object IntNumber extends NumberMatcher[Int]

    A PathMatcher that efficiently matches a number of digits and extracts their (non-negative) Int value.

    A PathMatcher that efficiently matches a number of digits and extracts their (non-negative) Int value. The matcher will not match 0 digits or a sequence of digits that would represent an Int value larger than Int.MaxValue.

    Definition Classes
    PathMatchers
  224. object LongNumber extends NumberMatcher[Long]

    A PathMatcher that efficiently matches a number of digits and extracts their (non-negative) Long value.

    A PathMatcher that efficiently matches a number of digits and extracts their (non-negative) Long value. The matcher will not match 0 digits or a sequence of digits that would represent an Long value larger than Long.MaxValue.

    Definition Classes
    PathMatchers
  225. object PathEnd extends PathMatcher0

    A PathMatcher that matches the very end of the requests URI path.

    A PathMatcher that matches the very end of the requests URI path.

    Definition Classes
    PathMatchers
  226. object Remaining extends PathMatcher1[String]

    A PathMatcher that matches and extracts the complete remaining, unmatched part of the request's URI path as an (encoded!) String.

    A PathMatcher that matches and extracts the complete remaining, unmatched part of the request's URI path as an (encoded!) String. If you need access to the remaining unencoded elements of the path use the RemainingPath matcher!

    Definition Classes
    PathMatchers
  227. object RemainingPath extends PathMatcher1[Path]

    A PathMatcher that matches and extracts the complete remaining, unmatched part of the request's URI path.

    A PathMatcher that matches and extracts the complete remaining, unmatched part of the request's URI path.

    Definition Classes
    PathMatchers
  228. object Segment extends PathMatcher1[String]

    A PathMatcher that matches if the unmatched path starts with a path segment.

    A PathMatcher that matches if the unmatched path starts with a path segment. If so the path segment is extracted as a String.

    Definition Classes
    PathMatchers
  229. object Slash extends PathMatcher0

    A PathMatcher that matches a single slash character ('/').

    A PathMatcher that matches a single slash character ('/').

    Definition Classes
    PathMatchers

Inherited from Directives

Inherited from WebSocketDirectives

Inherited from SecurityDirectives

Inherited from SchemeDirectives

Inherited from RouteDirectives

Inherited from RespondWithDirectives

Inherited from RangeDirectives

Inherited from PathDirectives

Inherited from PathMatchers

Inherited from TimeoutDirectives

Inherited from ParameterDirectives

Inherited from MiscDirectives

Inherited from MethodDirectives

Inherited from MarshallingDirectives

Inherited from HostDirectives

Inherited from HeaderDirectives

Inherited from FutureDirectives

Inherited from FormFieldDirectives

Inherited from ToNameReceptacleEnhancements

Inherited from FileUploadDirectives

Inherited from FileAndResourceDirectives

Inherited from ExecutionDirectives

Inherited from CodingDirectives

Inherited from DebuggingDirectives

Inherited from CookieDirectives

Inherited from CacheConditionDirectives

Inherited from BasicDirectives

Inherited from RouteConcatenation

Inherited from AnyRef

Inherited from Any

Basic directives

Cache condition directives

Cookie directives

Debugging directives

Coding directives

Execution directives

File and resource directives

File upload directives

Form field directives

Future directives

Header directives

Host directives

Marshalling directives

Method directives

Miscellaneous directives

Parameter directives

Timeout directives

Path directives

Path matchers

Path matcher implicits

Range directives

Response directives

Route directives

Scheme directives

Security directives

WebSocket directives

Route concatenation

Ungrouped