requestEntityEmpty

Signature

def requestEntityEmpty: Directive0

Description

A filter that checks if the request entity is empty and only then passes processing to the inner route. Otherwise, the request is rejected.

See also requestEntityPresent for the opposite effect.

Example

Scala
val route =
  concat(
    requestEntityEmpty {
      complete("request entity empty")
    },
    requestEntityPresent {
      complete("request entity present")
    }
  )

// tests:
Post("/", "text") ~> Route.seal(route) ~> check {
  responseAs[String] shouldEqual "request entity present"
}
Post("/") ~> route ~> check {
  responseAs[String] shouldEqual "request entity empty"
}
Java
import static akka.http.javadsl.server.Directives.complete;
import static akka.http.javadsl.server.Directives.requestEntityEmpty;
import static akka.http.javadsl.server.Directives.requestEntityPresent;

final Route route = requestEntityEmpty(() ->
  complete("request entity empty")
).orElse(requestEntityPresent(() ->
  complete("request entity present")
));

// tests:
testRoute(route).run(HttpRequest.POST("/"))
  .assertEntity("request entity empty");
testRoute(route).run(HttpRequest.POST("/").withEntity("foo"))
  .assertEntity("request entity present");
Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.