Represents a browser session.

Sessions persist between HTTP requests for a single browser session. They are deleted when the browser is closed, or they time-out. Session cookies are used to maintain sessions using a secure UUID.

Sessions can be used to maintain data for a browser session, e.g. a shopping basket.

The context must have first been routed to a SessionHandler for sessions to be available.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `Session`

- `Session`
  - `Basic`
    - `Identifiable`
    - `Object`
      - `Anything`

no subtypes hierarchy

Initializer
`Session(Session unknown)`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`destroy` | `shared default void destroy()` Destroy the session
`get` | `shared default T? get<T>(String key)` Get some data from the session Parameters: `key` the key of the data
`id` | `shared default String id()`
`isDestroyed` | `shared default Boolean isDestroyed()`
`lastAccessed` | `shared default Integer lastAccessed()`
`put` | `shared default Session put(String key, Object? obj)` Put some data in a session Parameters: `key` the key for the data `obj` the data
`remove` | `shared default T? remove<T>(String key)` Remove some data from the session Parameters: `key` the key of the data
`setAccessed` | `shared default void setAccessed()` Mark the session as being accessed.
`timeout` | `shared default Integer timeout()`

Inherited Methods
Methods inherited from: `Object` `equals`