@dooboostore/simple-boot-http-server-ssr
Version:
front end SPA frameworks SSR
54 lines • 2.23 kB
TypeScript
import { RequestResponse } from '@dooboostore/simple-boot-http-server/models/RequestResponse';
import { SimpleBootHttpSSRFactory } from '../SimpleBootHttpSSRFactory';
import { ConstructorType } from '@dooboostore/core/types';
import { Filter } from '@dooboostore/simple-boot-http-server/filters/Filter';
import { HttpStatus } from '@dooboostore/simple-boot-http-server/codes/HttpStatus';
import { SimpleBootHttpServer } from '@dooboostore/simple-boot-http-server/SimpleBootHttpServer';
import { SimFrontOption } from '@dooboostore/simple-boot-front/option/SimFrontOption';
import { SimpleBootFront } from '@dooboostore/simple-boot-front/SimpleBootFront';
import * as JSDOM from 'jsdom';
export type FactoryAndParams = {
frontDistPath: string;
frontDistIndexFileName?: string;
factorySimFrontOption: (window: any) => SimFrontOption;
factory: SimpleBootHttpSSRFactory;
poolOption: {
max: number;
min: number;
};
using: ConstructorType<any>[];
domExcludes?: ConstructorType<any>[];
ssrExcludeFilter?: (rr: RequestResponse) => boolean;
simpleBootFront?: {
notFoundError?: boolean;
};
};
export declare class SSRFilter implements Filter {
config: FactoryAndParams;
otherInstanceSim?: Map<ConstructorType<any>, any>;
private simpleBootFrontPool;
private simpleBootFrontQueue;
private indexHTML;
private welcomUrl;
constructor(config: FactoryAndParams, otherInstanceSim?: Map<ConstructorType<any>, any>);
onInit(app: SimpleBootHttpServer): Promise<void>;
makeJsdom(): Promise<JSDOM.JSDOM>;
makeFront(jsdom: JSDOM.JSDOM): Promise<SimpleBootFront>;
enqueueFrontApp(simpleBootFront: SimpleBootFront): void;
pushQueue(): Promise<void>;
proceedBefore({ rr, app }: {
rr: RequestResponse;
app: SimpleBootHttpServer;
carrier: Map<string, any>;
}): Promise<boolean>;
writeOkHtmlAndEnd({ rr, status }: {
rr: RequestResponse;
status?: HttpStatus;
}, html: string): Promise<void>;
proceedAfter({ rr, app }: {
rr: RequestResponse;
app: SimpleBootHttpServer;
carrier: Map<string, any>;
}): Promise<boolean>;
}
//# sourceMappingURL=SSRFilter.d.ts.map