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 MethodRejection
MethodRejection
, 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.");