head
Matches requests with HTTP method HEAD.
Description
This directive filters the incoming request by its HTTP method. Only requests with method HEAD are passed on to the inner route. All others are rejected with a MethodRejectionMethodRejection, which is translated into a 405 Method Not Allowed response by the default RejectionHandler.
Note
Akka HTTP can handle HEAD requests transparently by dispatching a GET request to the handler and stripping off the result body. See the akka.http.server.transparent-head-requests setting for how to enable this behavior.
Example
- Scala
-
source
val route = head { complete("This is a HEAD request.") } // tests: Head("/") ~> route ~> check { responseAs[String] shouldEqual "This is a HEAD request." } - Java
-
source
import static akka.http.javadsl.server.Directives.complete; import static akka.http.javadsl.server.Directives.head; final Route route = head(() -> complete("This is a HEAD request.")); testRoute(route).run(HttpRequest.HEAD("/")).assertEntity( "This is a HEAD request.");