### Function

# Soup Cookie parse

#### Declaration [src]

    SoupCookie*
    soup_cookie_parse (
      const char* header,
      GUri* origin
    )

#### Description [src]

Parses `header` and returns a `SoupCookie`.

If `header` contains multiple cookies, only the first one will be parsed.

If `header` does not have “path” or “domain” attributes, they will be defaulted from `origin`. If `origin` is `NULL`, path will default to “/”, but domain will be left as `NULL`. Note that this is not a valid state for a `SoupCookie`, and you will need to fill in some appropriate string for the domain if you want to actually make use of the cookie.

As of version 3.4.0 the default value of a cookie’s same-site-policy is `SOUP_SAME_SITE_POLICY_LAX`.

#### Parameters

`header`

  Type: `const char*`

  A cookie string (eg, the value of a Set-Cookie header).

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`origin`

  Type: `GUri`

  Origin of the cookie.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `SoupCookie`

A new `SoupCookie`, or `NULL` if it could not be parsed, or contained an illegal “domain” attribute for a cookie originating from `origin`.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.