2021-06-29 22:18:47 +08:00

39 lines
883 B
TypeScript

import * as path from "path";
import { HttpServer } from "tsrpc";
import { EncryptUtil } from "./shared/models/EncryptUtil";
import { serviceProto } from "./shared/protocols/serviceProto";
// Create the Server
const server = new HttpServer(serviceProto, {
port: 3000,
cors: '*',
debugBuf: true
});
// Encrypt
server.flows.preSendBufferFlow.push(v => {
v.buf = EncryptUtil.encrypt(v.buf);
return v;
});
// Decrypt
server.flows.preRecvBufferFlow.push(v => {
v.buf = EncryptUtil.decrypt(v.buf);
return v;
})
// Entry function
async function main() {
// Auto implement APIs
await server.autoImplementApi(path.resolve(__dirname, 'api'));
// TODO
// Prepare something... (e.g. connect the db)
await server.start();
};
main().catch(e => {
// Exit if any error during the startup
server.logger.error(e);
process.exit(-1);
});