# WsCookie

## Overview

An HTTP cookie representation provides methods to manage and manipulate various attributes of cookies in an application. The cookie includes properties such as `name` and `value`, which hold its key and content respectively. Attributes like `domain`, `path`, and `maxAge` define the cookie's scope and lifetime, while flags such as `secure` and `httpOnly` enhance security by restricting the transmission protocol and JavaScript accessibility.

Additional attributes like `comment` provide metadata about the cookie's purpose, and `version` ensures compatibility with specific cookie protocols. This representation also supports methods for checking and modifying these attributes dynamically.

## Properties Summarized

| Type                                                                           | Name                  | Summary               |
| ------------------------------------------------------------------------------ | --------------------- | --------------------- |
| [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)   | [comment](#comment)   | Cookie comment.       |
| [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)   | [domain](#domain)     | Cookie domain.        |
| [Boolean](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/boolean) | [httpOnly](#httponly) | Cookie httpOnly flag. |
| [Number](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/number)   | [maxAge](#maxage)     | Cookie maxAge.        |
| [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)   | [name](#name)         | Cookie name.          |
| [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)   | [path](#path)         | Cookie path.          |
| [Boolean](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/boolean) | [secure](#secure)     | Cookie secure flag.   |
| [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)   | [value](#value)       | Cookie value.         |
| [Number](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/number)   | [version](#version)   | Cookie version.       |

## Properties Detailed

### comment

Cookie comment.\
Specifies a comment that describes a cookie's purpose.

**Type**\
[String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.comment = 'yummy';
```

### domain

Cookie domain.\
Specifies the domain within which this cookie should be presented.

**Type**\
[String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.domain = 'example.com';
```

### httpOnly

Cookie httpOnly flag.\
Marks or unmarks this Cookie as HttpOnly

**Type**\
[Boolean](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/boolean)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.httpOnly = true;
```

### maxAge

Cookie maxAge.\
Sets the maximum age in seconds for this Cookie.

**Type**\
[Number](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/number)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.maxAge = 3600;
```

### name

Cookie name.

The cookie name allows only a sequence of non-special, non-white space characters, see\
the cookie spec <https://tools.ietf.org/html/rfc2965>

**Type**\
[String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.name = 'doublechocolate';
```

### path

Cookie path.\
Specifies a path for the cookie to which the client should return the cookie.

**Type**\
[String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.path = '/subfolder';
```

### secure

Cookie secure flag.\
Indicates to the browser whether the cookie should only be sent using a secure protocol, such as HTTPS or SSL.

**Type**\
[Boolean](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/boolean)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.secure = true;
```

### value

Cookie value.

The cookie value allows only a sequence of non-special, non-white space characters, see\
the cookie spec <https://tools.ietf.org/html/rfc2965>

**Type**\
[String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.value = 'mint';
```

### version

Cookie version.\
Sets the version of the cookie protocol that this Cookie complies with.

**Type**\
[Number](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/number)

**Sample**

```js
var cookie = plugins.rest_ws.createCookie('chocolate', 'chip');
cookie.version = 1;
```

***
