fix(core): update
This commit is contained in:
42
ts/test-sdk.classes.testserver.ts
Normal file
42
ts/test-sdk.classes.testserver.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import * as plugins from './test-sdk.plugins';
|
||||
|
||||
export class AgTestServer {
|
||||
public handlers: Array<plugins.agSdk.AAgHandler<any>> = [];
|
||||
public server: plugins.smartexpress.Server;
|
||||
|
||||
constructor(handlerArg?: plugins.agSdk.AAgHandler<any>) {
|
||||
if (handlerArg) {
|
||||
this.handlers.push(handlerArg);
|
||||
}
|
||||
}
|
||||
|
||||
public async addAgHandler(handlerArg: plugins.agSdk.AAgHandler<any>) {
|
||||
this.handlers.push(handlerArg);
|
||||
await this.stop();
|
||||
await this.start();
|
||||
}
|
||||
|
||||
public async start() {
|
||||
this.server = new plugins.smartexpress.Server({
|
||||
cors: true,
|
||||
defaultAnswer: async () => 'apiglobal testserver',
|
||||
domain: 'localhost',
|
||||
forceSsl: false,
|
||||
});
|
||||
for (const handlerArg of this.handlers) {
|
||||
this.server.addRoute(
|
||||
`/${handlerArg.slug}`,
|
||||
new plugins.smartexpress.HandlerTypedRouter(handlerArg.typedrouter)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public async stop() {
|
||||
if (this.server) {
|
||||
const previousServer = this.server;
|
||||
this.server = null;
|
||||
await this.server.startedPromise;
|
||||
await this.server.stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user