ResponseCookies

scamper.http.cookies.ResponseCookies
final class ResponseCookies(response: HttpResponse) extends AnyVal

Adds standardized access to 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.{ SetCookie, toResponseCookies }
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"))

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any

Members list

Value members

Concrete methods

def cookies: Seq[SetCookie]

Gets cookies.

Gets cookies.

Attributes

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

Gets specified cookie.

Gets specified cookie.

Value parameters

name

cookie name

Attributes

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

Gets value of specified cookie.

Gets value of specified cookie.

Value parameters

name

cookie name

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

Note

All previous cookies are removed.