requestEntityPresent • Akka HTTP (original) (raw)
Signature
def requestEntityPresent: Directive0
Description
A simple filter that checks if the request entity is present and only then passes processing to the inner route. Otherwise, the request is rejected with RequestEntityExpectedRejectionRequestEntityExpectedRejection.
See also requestEntityEmpty for the opposite effect.
Example
Scala
source`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
source`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.