trait MiscDirectives extends AnyRef

Source
MiscDirectives.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. MiscDirectives
  2. AnyRef
  3. 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

Miscellaneous directives

  1. def extractClientIP: Directive1[RemoteAddress]

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

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

  3. def requestEntityEmpty: Directive0

    Rejects if the request entity is non-empty.

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

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

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

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

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

    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.