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
Apache Pekko HTTP can handle HEAD requests transparently by dispatching a GET request to the handler and stripping off the result body. See the pekko.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 org.apache.pekko.http.javadsl.server.Directives.complete; import static org.apache.pekko.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.");
1.2.0