Session class abstract

When a call is made to the Server a Session object is created. It contains all data associated with the current connection and provides easy access to the database.

Implementers

Constructors

Session({required Server server, String? authenticationKey, HttpRequest? httpRequest, WebSocket? webSocket, required bool enableLogging})
Creates a new session. This is typically done internally by the Server.

Properties

auth UserAuthetication
Methods related to user authentication.
latefinal
authenticationKey String?
The authentication key passed from the client.
no setter
caches → Caches
Provides access to all caches used by the server.
no setter
db ↔ DatabaseLegacy
Access to the database.
latefinal
dbNext ↔ Database
Access to the database. Replaces db in the future.
latefinal
duration Duration
Returns the duration this session has been open.
no setter
enableLogging bool
True if logging is enabled for this session. Normally, logging should be enabled but it will be disabled for internal sessions used by Serverpod.
final
hashCode int
The hash code for this object.
no setterinherited
isUserSignedIn Future<bool>
Returns true if the user is signed in.
no setter
messages MessageCentralAccess
Access to the MessageCentral for passing real time messages between web socket streams and other listeners.
getter/setter pair
passwords Map<String, String>
Map of passwords loaded from config/passwords.yaml
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scopes Future<Set<Scope>?>
Returns the scopes associated with an authenticated user.
no setter
server Server
The Server that created the session.
final
serverpod Serverpod
The Serverpod this session is running on.
no setter
sessionLogs ↔ SessionLogEntryCache
Log messages saved during the session.
latefinal
startTime DateTime
The time the session object was created.
no setter
storage StorageAccess
Provides access to the cloud storages used by this Serverpod.
latefinal
userObject ↔ dynamic
An custom object associated with this Session. This is especially useful for keeping track of the state in a StreamingEndpoint.
getter/setter pair

Methods

close({dynamic error, StackTrace? stackTrace}) Future<int?>
Closes the session. This method should only be called if you have manually created a the Session e.g. by calling createSession on Serverpod. Closing the session finalizes and writes logs to the database. After a session has been closed, you should not call any more methods on it. Optionally pass in an error/exception and stackTrace if the session ended with an error and it should be written to the logs. Returns the session id, if the session has been logged to the database.
log(String message, {LogLevel? level, dynamic exception, StackTrace? stackTrace}) → void
Logs a message. Default LogLevel is LogLevel.info. The log is written to the database when the session is closed.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited