1
0
Fork 0
arangodb/Documentation/Books/Manual/Foxx/Sessions/Transports/README.mdpp

73 lines
1.8 KiB
Plaintext

!CHAPTER Session Transports
Session transports are used by the sessions middleware to store and retrieve session identifiers in requests and responses. Session transports must implement the `get` and/or `set` methods and can optionally implement the `clear` method.
!SECTION get
`transport.get(request): string | null`
Retrieves a session identifier from a request object.
If present this method will automatically be invoked for each transport until a transport returns a session identifier.
**Arguments**
* **request**: `Request`
[Request object](../../Router/Request.md) to extract a session identifier from.
Returns the session identifier or `null` if the transport can not find a session identifier in the request.
**Examples**
```js
get(req) {
return req.get('x-session-id') || null;
}
```
!SECTION set
`transport.set(response, sid): void`
Attaches a session identifier to a response object.
If present this method will automatically be invoked at the end of a request regardless of whether the session was modified or not.
**Arguments**
* **response**: `Response`
[Response object](../../Router/Response.md) to attach a session identifier to.
* **sid**: `string`
Session identifier to attach to the response.
Returns nothing.
**Examples**
```js
set(res) {
res.set('x-session-id', value);
}
```
!SECTION clear
`transport.clear(response): void`
Attaches a payload indicating that the session has been cleared to the response object.
This can be used to clear a session cookie when the session has been destroyed (e.g. during logout).
If present this method will automatically be invoked instead of `set` when the `req.session` attribute was removed by the route handler.
**Arguments**
* **response**: `Response`
Response object to remove the session identifier from.
Returns nothing.