Wt: Wt::Http::Cookie Class Reference

Wt 4.10.4

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Wt::Http::Cookie Class Reference
HTTP protocol (Wt::Http)

An HTTP Cookie. More...

`#include <Wt/Http/Cookie.h>`

## Public Types
enum class | SameSite { None , Lax , Strict }
| Enumeration of SameSite attribute values. More...

## Public Member Functions
| Cookie (const std::string &name)
| Constructor for cookie without value.
| Cookie (const std::string &name, const std::string &value, const Wt::WDateTime &expires)
| Constructor for a cookie that expires at a certain datetime.
| Cookie (const std::string &name, const std::string &value, const std::chrono::seconds &maxAge)
| Constructor for a cookie that expires after certain duration.
const std::string & | name () const
| The cookie name.
void | setValue (const std::string &value)
| Sets the cookie value.
const std::string & | value () const
| The cookie value.
void | setExpires (const Wt::WDateTime &expires)
| Sets when the cookie will expire.
const Wt::WDateTime & | expires () const
| The cookie expiration.
void | setMaxAge (const std::chrono::seconds &maxAge)
| Sets the cookie's Max-Age.
const std::chrono::seconds & | maxAge () const
| The cookie's Max-Age.
void | setDomain (const std::string &domain)
| Sets the cookie domain.
const std::string & | domain () const
| The cookie domain.
void | setPath (const std::string &path)
| Sets the cookie path.
const std::string & | path () const
| The cookie path.
void | setSecure (bool secure)
| Sets if the cookie must be sent over a secure connection.
bool | secure () const
| Returns if the cookie must be sent over secure connection.
void | setHttpOnly (bool httpOnly)
| Sets if the cookie is only accessible through HTTP.
bool | httpOnly () const
| Returns if the cookie is only accessible through HTTP.
void | setSameSite (SameSite sameSite)
| Sets the cookie SameSite attribute.
SameSite | sameSite () const
| The cookie SameSite attribute.

## Detailed Description

An HTTP Cookie.

Cookies can be set with WApplication::setCookie(const Http::Cookie&) and removed with WApplication::removeCookie(const Http::Cookie&).

See also
  WApplication::setCookie(const Http::Cookie&), WApplication::removeCookie(const Http::Cookie&), WEnvironment::supportsCookies(), WEnvironment::getCookie()

## Member Enumeration Documentation

## ◆ SameSite

enum class Wt::Http::Cookie::SameSite
| strong

Enumeration of SameSite attribute values.

Enumerator
None | Sent in all contexts (note: generally not allowed if secure not specified)
Lax | Sent for first-party and top-level GET from third-party.
Strict | Sent for first-party only.

## Constructor & Destructor Documentation

## ◆ Cookie() [1/3]

Wt::Http::Cookie::Cookie | ( | const std::string & | name | ) |
| explicit

Constructor for cookie without value.

Allows you to only specify the name of the cookie. This can be useful if the intention is to pass it to WApplication::removeCookie(), in which case no value is needed.

See also
  WApplication::removeCookie(const Http::Cookie&)

## ◆ Cookie() [2/3]

Wt::Http::Cookie::Cookie | ( | const std::string & | name,
|  | const std::string & | value,
|  | const Wt::WDateTime & | expires )

Constructor for a cookie that expires at a certain datetime.

The name must be a valid cookie name (of type 'token': no special characters or separators, see RFC2616 page 16). The value may be anything.

See also
  WApplication::setCookie(const Http::Cookie&)

## ◆ Cookie() [3/3]

Wt::Http::Cookie::Cookie | ( | const std::string & | name,
|  | const std::string & | value,
|  | const std::chrono::seconds & | maxAge )

Constructor for a cookie that expires after certain duration.

The name must be a valid cookie name (of type 'token': no special characters or separators, see RFC2616 page 16). The value may be anything.

See also
  WApplication::setCookie(const Http::Cookie&)

## Member Function Documentation

## ◆ domain()

const std::string & Wt::Http::Cookie::domain | ( |  | ) | const

The cookie domain.

See also
  setDomain()

## ◆ expires()

const Wt::WDateTime & Wt::Http::Cookie::expires | ( |  | ) | const

The cookie expiration.

See also
  setExpires(), setMaxAge()

## ◆ httpOnly()

bool Wt::Http::Cookie::httpOnly | ( |  | ) | const

Returns if the cookie is only accessible through HTTP.

See also
  setHttpOnly()

## ◆ maxAge()

const std::chrono::seconds & Wt::Http::Cookie::maxAge | ( |  | ) | const

The cookie's Max-Age.

See also
  setMaxAge(), setExpires()

## ◆ path()

const std::string & Wt::Http::Cookie::path | ( |  | ) | const

The cookie path.

See also
  setPath()

## ◆ sameSite()

SameSite Wt::Http::Cookie::sameSite | ( |  | ) | const

The cookie SameSite attribute.

See also
  setSameSite()

## ◆ secure()

bool Wt::Http::Cookie::secure | ( |  | ) | const

Returns if the cookie must be sent over secure connection.

See also
  setSecure()

## ◆ setDomain()

void Wt::Http::Cookie::setDomain | ( | const std::string & | domain | ) |

Sets the cookie domain.

By default the Domain attribute is omitted, which the browser interprets as the current domain (not including subdomains).

See also
  domain()

## ◆ setExpires()

void Wt::Http::Cookie::setExpires | ( | const Wt::WDateTime & | expires | ) |

Sets when the cookie will expire.

If WDateTime::isNull(), it will be a session cookie (which expires when the browser is closed).

See also
  expires(), setMaxAge()

## ◆ setHttpOnly()

void Wt::Http::Cookie::setHttpOnly | ( | bool | httpOnly | ) |

Sets if the cookie is only accessible through HTTP.

The default value is true.

See also
  httpOnly()

## ◆ setMaxAge()

void Wt::Http::Cookie::setMaxAge | ( | const std::chrono::seconds & | maxAge | ) |

Sets the cookie's Max-Age.

The number of seconds until the cookie expires. Note that if both Expires and Max-Age are set, maxAge has precedence. When the duration is negative, Max-Age will not be set.

See also
  maxAge(), setExpires()

## ◆ setPath()

void Wt::Http::Cookie::setPath | ( | const std::string & | path | ) |

Sets the cookie path.

By default the cookie only applies to the application deployment path (WEnvironment::deploymentPath()).

See also
  path()

## ◆ setSameSite()

void Wt::Http::Cookie::setSameSite | ( | SameSite | sameSite | ) |

Sets the cookie SameSite attribute.

The default value is SameSite::Lax.

Note
  A browser will reject a cookie with SameSite::None if secure() is false.

See also
  sameSite()

## ◆ setSecure()

void Wt::Http::Cookie::setSecure | ( | bool | secure | ) |

Sets if the cookie must be sent over a secure connection.

The default value is false.

See also
  secure()

## ◆ setValue()

void Wt::Http::Cookie::setValue | ( | const std::string & | value | ) |

Sets the cookie value.

See also
  value()

## ◆ value()

const std::string & Wt::Http::Cookie::value | ( |  | ) | const

The cookie value.

See also
  setValue()