ResponseCookies

final implicit
class ResponseCookies(response: HttpResponse) extends AnyVal

Provides access to response cookies in Set-Cookie headers.

In HttpResponse, the cookies are a collection of Set-Cookie header values. Specialized access is provided by ResponseCookies, with each cookie represented as SetCookie.

import scala.language.implicitConversions

import scamper.http.ResponseStatus.Registry.Ok
import scamper.http.cookies.{ ResponseCookies, SetCookie }
import scamper.http.stringToEntity

// Build response with cookies
val res = Ok("There is an answer.").setCookies(
 SetCookie("ID", "bG9zCg", path = Some("/motd"), secure = true),
 SetCookie("Region", "SE-US")
)

// Print all cookies
res.cookies.foreach(println)

// Get cookies by name
val id: Option[SetCookie] = res.getCookie("ID")
val region: Option[SetCookie] = res.getCookie("Region")

// Get attributes of ID cookie
val path: String = id.flatMap(_.path).getOrElse("/")
val secure: Boolean = id.map(_.secure).getOrElse(false)

// Get cookie values by name
assert(res.getCookieValue("ID").contains("bG9zCg"))
assert(res.getCookieValue("Region").contains("SE-US"))
class AnyVal
trait Matchable
class Any

Value members

Concrete methods

def cookies: Seq[SetCookie]

Gets cookies.

Gets cookies.

def getCookie(name: String): Option[SetCookie]

Gets specified cookie.

Gets specified cookie.

Value Params
name

cookie name

def getCookieValue(name: String): Option[String]

Gets value of specified cookie.

Gets value of specified cookie.

Value Params
name

cookie name

def putCookies(cookies: Seq[SetCookie]): HttpResponse

Creates copy of response with supplied cookies.

Creates copy of response with supplied cookies.

Value Params
cookies

new cookies

Note

Previous cookies with same name are removed.

Creates copy of response with supplied cookies.

Creates copy of response with supplied cookies.

Value Params
more

additional cookies

one

cookie

Note

Previous cookies with same name are removed.

def removeCookies(names: Seq[String]): HttpResponse

Creates copy of response excluding cookies with given names.

Creates copy of response excluding cookies with given names.

Value Params
names

cookie names

def removeCookies(one: String, more: String*): HttpResponse

Creates copy of response excluding cookies with given names.

Creates copy of response excluding cookies with given names.

Value Params
more

additional cookie names

one

cookie name

def setCookies(cookies: Seq[SetCookie]): HttpResponse

Creates copy of response with new set of cookies.

Creates copy of response with new set of cookies.

Value Params
cookies

new set of cookies

Note

All previous cookies are removed.

Creates copy of response with new set of cookies.

Creates copy of response with new set of cookies.

Value Params
more

additional new cookies

one

new cookie

Note

All previous cookies are removed.