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.
- Implemented types
- Implementers
Constructors
Properties
-
authenticated
→ Future<
AuthenticationInfo?> -
The authentication information for the session.
This will be null if the session is not authenticated.
no setter
- authenticationKey → String?
-
The authentication key used to authenticate the session.
no setter
- caches → Caches
-
Provides access to all caches used by the server.
no setter
- db → Database
-
Access to the database.
no setteroverride
- 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
- endpoint → String
-
Endpoint that triggered this session.
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
- method → String?
-
Method that triggered this session, if any.
final
-
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
- server → Server
-
The Server that created the session.
final
- serverpod → Serverpod
-
The Serverpod this session is running on.
no setter
- sessionId → UuidValue
-
The id of the session.
final
- startTime → DateTime
-
The time the session object was created.
no setter
- storage ↔ StorageAccess
-
Provides access to the cloud storages used by this Serverpod.
latefinal
- transaction → Transaction?
-
Optional transaction to use for all database queries.
Only exists to support the serverpod_test package.
no setteroverride
- 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
-
addWillCloseListener(
WillCloseListener listener) → void - Adds a listener that will be called when the session is about to close. The listener should return a FutureOr that completes when the listener is done.
-
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 anerror
/exception andstackTrace
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
-
removeWillCloseListener(
WillCloseListener listener) → void - Removes a listener that will be called when the session is about to close.
-
toString(
) → String -
A string representation of this object.
inherited
-
updateAuthenticated(
AuthenticationInfo? info) → void - Updates the authentication information for the session. This is typically done by the Server when the user is authenticated. Using this method modifies the authenticated user for this session.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited