description

# HttpSession class abstract interface

The HttpRequest.session of an HttpRequest.

Stores arbitrary information about a browser session on the server. This information is stored in memory so it will be lost when the server exits.

A cookie named "DARTSESSID" is stored on the browser to associate the `HttpSession` with a particular client.

    import 'dart:io';

    void main() async {
      HttpServer.bind("localhost", 8080).then((server) {
        server.listen((request) {
          final session = request.session;
          if (session.isNew) {
            session["cart"] = [];
          }
          if (request.uri.queryParameters['buy'] != null) {
            final item = request.uri.queryParameters['buy'];
            session["cart"].add(item);
          }
          session["cart"].cast<String>().forEach(request.response.writeln);
          request.response.close();
        });
      });
    }

Implemented types
  - Map

## Properties

entries → Iterable<MapEntry>
  The map entries of this Map.
  no setter inherited
hashCode → int
  The hash code for this object.
  no setter inherited
id → String
  The id of the current session.
  no setter
isEmpty → bool
  Whether there is no key/value pair in the map.
  no setter inherited
isNew → bool
  Whether the session has not yet been sent to the client.
  no setter
isNotEmpty → bool
  Whether there is at least one key/value pair in the map.
  no setter inherited
keys → Iterable
  The keys of this Map.
  no setter inherited
length → int
  The number of key/value pairs in the map.
  no setter inherited
onTimeout ← void Function()
  Sets a callback that will be called when the session is timed out.
  no getter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
values → Iterable
  The values of this Map.
  no setter inherited

## Methods

addAll(Map other) → void
  Adds all key/value pairs of `other` to this map.
  inherited
addEntries(Iterable<MapEntry> newEntries) → void
  Adds all key/value pairs of `newEntries` to this map.
  inherited
cast<RK, RV>() → Map<RK, RV>
  Provides a view of this map as having `RK` keys and `RV` instances, if necessary.
  inherited
clear() → void
  Removes all entries from the map.
  inherited
containsKey(Object? key) → bool
  Whether this map contains the given `key`.
  inherited
containsValue(Object? value) → bool
  Whether this map contains the given `value`.
  inherited
destroy() → void
  Destroys the session.
forEach(void action(dynamic key, dynamic value)) → void
  Applies `action` to each key/value pair of the map.
  inherited
map<K2, V2>(MapEntry<K2, V2> convert(dynamic key, dynamic value)) → Map<K2, V2>
  Returns a new map where all entries of this map are transformed by the given `convert` function.
  inherited
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
putIfAbsent(dynamic key, dynamic ifAbsent()) → dynamic
  Look up the value of `key`, or add a new entry if it isn't there.
  inherited
remove(Object? key) → dynamic
  Removes `key` and its associated value, if present, from the map.
  inherited
removeWhere(bool test(dynamic key, dynamic value)) → void
  Removes all entries of this map that satisfy the given `test`.
  inherited
toString() → String
  A string representation of this object.
  inherited
update(dynamic key, dynamic update(dynamic value), {dynamic ifAbsent()?}) → dynamic
  Updates the value for the provided `key`.
  inherited
updateAll(dynamic update(dynamic key, dynamic value)) → void
  Updates all values.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited
operator [](Object? key) → dynamic
  The value for the given `key`, or `null` if `key` is not in the map.
  inherited
operator []=(dynamic key, dynamic value) → void
  Associates the `key` with the given `value`.
  inherited