Session
Overview
Module
- package:
@aerokit/sdk/http - source: http/session.ts
- last updated:
The Session module provides a static façade (Session class) for accessing and manipulating the HTTP session associated with the current request. This module is often used to store user-specific data during their interaction with the application, such as authentication status, user preferences, or temporary data that should persist across multiple requests within the same session.
Key Features:
- Session Management: Provides methods to check session validity, retrieve and set attributes, manage session lifetime, and invalidate sessions.
- Attribute Handling: Allows storing and retrieving named attributes in the session, which can be used to maintain user state across requests.
- Session Metadata: Offers access to session metadata such as creation time, last accessed time, and session ID.
Use Cases:
- User Authentication: Storing user authentication status or tokens in the session to maintain login state across requests.
- User Preferences: Keeping user-specific settings or preferences that should persist during the session.
- Temporary Data Storage: Holding temporary data that is relevant for the duration of the user's interaction with the application but does not need to be stored permanently.
Example Usage:
import { Session } from "@aerokit/sdk/http";
// Check if the session is valid
if (Session.isValid()) {
// Set a user attribute in the session
Session.setAttribute("userId", "12345");
// Retrieve the user attribute from the session
const userId = Session.getAttribute("userId");
// Get session metadata
const creationTime = Session.getCreationTime();
const lastAccessedTime = Session.getLastAccessedTime();
// Invalidate the session when done
Session.invalidate();
}Classes
Session
isValid()
Checks if a session is currently valid and active for the request context.
tsstatic isValid(): boolean;Returns
- Type:
boolean- Description: True if the session is valid, false otherwise (e.g., if it has been invalidated or timed out).
getAttribute()
Retrieves the value of a named attribute stored in the session. Note: The underlying Java facade typically stores strings, but the value may represent
- serialized data that should be parsed if complex.
tsstatic getAttribute(name: string): string;
Parameter Type Description namestringThe name of the attribute. Returns
- Type:
string- Description: The attribute value as a string, or null/undefined if not found.
getAttributeNames()
Retrieves an array of all attribute names currently stored in the session. The names are retrieved as a JSON string from the facade and then parsed.
tsstatic getAttributeNames(): void;Returns
- Type:
void- Description: An array of attribute names (strings), or an empty array if no attributes are present.
getCreationTime()
Returns the time at which this session was created, converted to a JavaScript Date object.
tsstatic getCreationTime(): Date;Returns
- Type:
Date- Description: A Date object representing the session's creation time.
getId()
Returns the unique identifier assigned to this session.
tsstatic getId(): string;Returns
- Type:
string- Description: The session ID string.
getLastAccessedTime()
Returns the last time the client accessed this session, converted to a JavaScript Date object. Access includes requests that retrieve or set session attributes.
tsstatic getLastAccessedTime(): Date;Returns
- Type:
Date- Description: A Date object representing the last access time.
getMaxInactiveInterval()
Returns the maximum time interval, in seconds, that the server should keep this session open between client requests. After this interval, the session will be invalidated.
tsstatic getMaxInactiveInterval(): number;Returns
- Type:
number- Description: The maximum inactive interval in seconds.
invalidate()
Invalidates this session, unbinding any objects bound to it. After this call, the session is no longer valid.
tsstatic invalidate(): void;Returns
- Type:
void- Description:
isNew()
Checks if the client does not yet know about the session, typically meaning the server has not yet returned the session ID via a cookie or encoded URL.
tsstatic isNew(): boolean;Returns
- Type:
boolean- Description: True if the session is new (not yet used in a response), false otherwise.
setAttribute()
Binds an object to this session, using the specified name. This is the primary way to store data in the user's session.
tsstatic setAttribute(name: string, value: any): void;
Parameter Type Description namestringThe name to bind the object under. valueanyThe value/object to store in the session. Returns
- Type:
void- Description:
removeAttribute()
Removes the attribute with the given name from the session.
tsstatic removeAttribute(name: string): void;
Parameter Type Description namestringThe name of the attribute to remove. Returns
- Type:
void- Description:
setMaxInactiveInterval()
Specifies the maximum time interval, in seconds, that the server should keep this session open between client requests before automatically invalidating it.
tsstatic setMaxInactiveInterval(interval: number): void;
Parameter Type Description intervalnumberThe new interval in seconds. Returns
- Type:
void- Description:
