optionalCookie

Extracts an optional cookie with a given name from a request.

Signature

def optionalCookie(name: String): Directive1[Option[HttpCookie]] 

Description

Use the cookie directive instead if the inner route does not handle a missing cookie.

Example

val route =
  optionalCookie("userName") {
    case Some(nameCookie) => complete(s"The logged in user is '${nameCookie.content}'")
    case None => complete("No user logged in")
  }


Get("/") ~> Cookie(HttpCookie("userName", "paul")) ~> route ~> check {
  responseAs[String] === "The logged in user is 'paul'"
}
Get("/") ~> route ~> check {
  responseAs[String] === "No user logged in"
}