-
Notifications
You must be signed in to change notification settings - Fork 35
Sessions
Session provides a way to store data about a particular set of requests and share that data across those requests. Typical use cases are:
- Store items added to shopping cart in retail application
- Store information about user logged-in to the application
Session data consists of key-value string pairs.
The session data can either be stored in request cookies or headers itself. This is simpler to get going and doesn't need any backend database.
Alternatively, session identifier can be stored on request cookies or headers, while the actual session data is stored in Dart Map or a database (ex: MongoDb, PostgreSQL, Reddis, etc).
SessionManager
is responsible for:
- Parsing session identifier & information from the HTTP request
- Writing session identifier & information to HTTP response
- Loading and storing session data from session store
parseRequest
parses the request and obtains the session information provided the Request
object. Usually called
before route handler execution, authenticator and authorizer, so that parsed data is available for further use.
writeResponse
writes session information to the provided Response
object. Usually called at the end of the route
chain.
This section explains how to create, update and delete a session.
createSession
creates a new session with given session data. Might delete the existing session if it had any.
updateSession
updates the existing session by adding the provided key-value pair to the output session information.
deleteSession
deletes the existing session.
InValues are read-only key-value session data that are parsed from the request. InValues can be accessed using
getInValue
method or inValues
member.
OutValues is the new session data that will be written to the response. OutValues can be accessed using outValues
member.
Basics
- Route handler
- Path matching
- Path parameters
- Query parameters
- Serving static files
- Cookies
- Controller
- Parameter binding
- Hot reload
Serialization
Forms
Sessions
Authentication
- Basic authentication
- Form authentication
- JSON authentication
- Authorization
- OAuth
- MongoDb
- PostgreSQL
- MySQL
- Establish connection
- ORM
- Server sent events (SSE)
- Websockets
- systemd
- Docker
- AppEngine