cachingProhibited
Signature¶
def cachingProhibited: Directive0
Description¶
This directive is used to filter out requests that forbid caching. It is used as a building block of the cache directive to prevent caching if the client requests so.
Example¶
sourceimport org.apache.pekko
import pekko.http.scaladsl.model.headers.`Cache-Control`
import pekko.http.scaladsl.model.headers.CacheDirectives.`no-cache`
val route =
cachingProhibited {
complete("abc")
}
Get("/") ~> route ~> check {
handled shouldEqual false
}
Get("/") ~> `Cache-Control`(`no-cache`) ~> route ~> check {
responseAs[String] shouldEqual "abc"
}
sourcefinal Route route = cachingProhibited(() -> complete("abc"));
// tests:
testRoute(route).run(HttpRequest.GET("/")).assertStatusCode(StatusCodes.NOT_FOUND);
final CacheControl noCache = CacheControl.create(CacheDirectives.NO_CACHE);
testRoute(route).run(HttpRequest.GET("/").addHeader(noCache)).assertEntity("abc");
1.0.1