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

Scala
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"
}
Java
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");