diff options
Diffstat (limited to 'docs/requests/cookies.rst')
-rw-r--r-- | docs/requests/cookies.rst | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/requests/cookies.rst b/docs/requests/cookies.rst new file mode 100644 index 0000000..0645316 --- /dev/null +++ b/docs/requests/cookies.rst @@ -0,0 +1,28 @@ +.. _cookies: + +Cookies +======= + +Cookies sent in requests are key-value pairs contained in the ``Cookie`` header. They can be set on a request in a couple of ways. The first is using the ``.cookie(name: String, value: String)`` method. This will yield a new request definition which, when sent, will contain the given cookie. + +Cookies can also be set using the following methods:: + + def cookie(nv: (String, String)) + def cookie(n: String, v: String) + def cookies(nvs: (String, String)*) + +Cookies from responses +---------------------- + +It is often necessary to copy cookies from a response, e.g. after a login request is sent, and a successful response with the authentication cookie received. Having an object ``response: Response[_]``, cookies on a request can be copied:: + + // Method signature + def cookies(r: Response[_]) + + // Usage + sttp.cookies(response) + +Or, it's also possible to store only the ``com.softwaremill.sttp.Cookie`` objects (a sequence of which can be obtained from a response), and set the on the request:: + + def cookies(cs: Seq[Cookie]) + |