Catch sync errors while starting HTTP server
Reviewed By: lblasa Differential Revision: D50636260 fbshipit-source-id: f23fb2005c779b87122ae34bfdd9371d8bdec8b4
This commit is contained in:
committed by
Facebook GitHub Bot
parent
97f01d0057
commit
8c5078dc08
@@ -47,6 +47,7 @@ class ServerRSocket extends ServerWebSocketBase {
|
|||||||
start(port: number, sslConfig?: SecureServerConfig): Promise<number> {
|
start(port: number, sslConfig?: SecureServerConfig): Promise<number> {
|
||||||
const self = this;
|
const self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
try {
|
||||||
// eslint-disable-next-line prefer-const
|
// eslint-disable-next-line prefer-const
|
||||||
let rawServer: RSocketServer<any, any> | undefined;
|
let rawServer: RSocketServer<any, any> | undefined;
|
||||||
const serverFactory = (onConnect: (socket: Socket) => void) => {
|
const serverFactory = (onConnect: (socket: Socket) => void) => {
|
||||||
@@ -78,6 +79,9 @@ class ServerRSocket extends ServerWebSocketBase {
|
|||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
rawServer.start();
|
rawServer.start();
|
||||||
|
} catch (e) {
|
||||||
|
reject(e);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ class ServerWebSocket extends ServerWebSocketBase {
|
|||||||
|
|
||||||
async start(port: number, sslConfig?: SecureServerConfig): Promise<number> {
|
async start(port: number, sslConfig?: SecureServerConfig): Promise<number> {
|
||||||
const assignedPort = await new Promise<number>((resolve, reject) => {
|
const assignedPort = await new Promise<number>((resolve, reject) => {
|
||||||
|
try {
|
||||||
const server = sslConfig
|
const server = sslConfig
|
||||||
? createHttpsServer(sslConfig)
|
? createHttpsServer(sslConfig)
|
||||||
: createHttpServer();
|
: createHttpServer();
|
||||||
@@ -89,6 +90,9 @@ class ServerWebSocket extends ServerWebSocketBase {
|
|||||||
|
|
||||||
resolve((server.address() as AddressInfo).port);
|
resolve((server.address() as AddressInfo).port);
|
||||||
});
|
});
|
||||||
|
} catch (e) {
|
||||||
|
reject(e);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
assertNotNull(this.wsServer);
|
assertNotNull(this.wsServer);
|
||||||
|
|||||||
Reference in New Issue
Block a user