= cow_cookie:parse_cookie(3)

== Name

cow_cookie:parse_cookie - Parse a cookie header

== Description

[source,erlang]
----
parse_cookie(Cookie :: binary())
    -> parse_cookie(Cookie, #{})
parse_cookie(Cookie :: binary(), Opts)
    -> [{binary(), binary()}]

Opts :: #{max_cookies => non_neg_integer()}
----

Parse a cookie header.

== Arguments

Cookie::

The cookie header value.

== Return value

A list of cookie name/value pairs is returned on success.

An exception is thrown in the event of a parse error.

== Changelog

* *2.19*: Function `parse_cookie/2` introduced with a
          `max_cookies` option.
* *2.9*: Fixes to the parser may lead to potential incompatibilities.
         A cookie name starting with `$` is no longer ignored.
         A cookie without a `=` will be parsed as the value of
         the cookie named `<<>>` (empty name).
* *1.0*: Function introduced.

== Examples

.Parse a cookie header
[source,erlang]
----
Cookies = cow_cookie:parse_cookie(CookieHd).
----

== See also

link:man:cow_cookie(3)[cow_cookie(3)],
link:man:cow_cookie:parse_set_cookie(3)[cow_cookie:parse_set_cookie(3)],
link:man:cow_cookie:cookie(3)[cow_cookie:cookie(3)],
link:man:cow_cookie:setcookie(3)[cow_cookie:setcookie(3)]
