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 parameters:
name

cookie name

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

Gets value of specified cookie.

Gets value of specified cookie.

Value parameters:
name

cookie name

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

Creates copy of response with supplied cookies.

Creates copy of response with supplied cookies.

Value parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
more

additional new cookies

one

new cookie

Note:

All previous cookies are removed.