### 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.

#### Parameters

`header` | `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` | `GUri`
| Origin of the cookie.
| The argument can be `NULL`.
| The data is owned by the caller of the function.

#### Return value

Returns: | `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`.