@farris/bef-vue
Version:
48 lines (47 loc) • 1.7 kB
TypeScript
import { HttpClient, HttpHeaders, Injector } from '@farris/devkit-vue';
import { SessionHandlingStrategy } from './handling-strategy';
import { SessionStorageStrategy } from '../storage-strategies';
import { FrameworkSessionService } from '../../framework-session.service';
import { RuntimeContext } from '../../types';
/**
* 会话复用场景下会话处理策略
*/
export declare class BefUnifiedSessionHandlingStrategy extends SessionHandlingStrategy {
protected injector: Injector;
/**
* 构造函数
*/
constructor(storageStrategy: SessionStorageStrategy, frameworSessionService: FrameworkSessionService, httpClient: HttpClient, baseUrl: string, injector: Injector);
/**
* 获取会话复用的session id
* @param runtimeContext runtime context
*/
getSessionId(runtimeContext: RuntimeContext): Promise<string>;
/**
* 设置session id
* @param sessionId session id
* @param runtimeContext runtime context
*/
setSessionId(sessionId: string, runtimeContext: RuntimeContext): void;
/**
* 清空session id
* @param runtimeContext runtime context
*/
clearSessionId(runtimeContext: RuntimeContext): void;
/**
* 处理请求header
* @param headers
* @param runtimeContext runtime context
*/
handleRequestHeaders(headers: HttpHeaders, runtimeContext?: RuntimeContext): HttpHeaders;
/**
* 处理返回header
* @param headers
*/
handleReponseHeaders(headers: HttpHeaders): void;
/**
* 构造session存储的key
* @param runtimeContext runtime context
*/
protected getSessionStorageKey(runtimeContext?: RuntimeContext): string;
}