Expected Behavior
It would be usefull, if ON_UNABLE_TO_START errors would be bubbled up to the app, so it can react accordingly.
Ideally, NodeBasedHandler.performAuthorizationRequest would return a promise, which is resolved as soon as the server is started and the consent screen has been opened.
Also it would be usefull if the errors would be of class AppAuthError, with a unique code.
Describe the problem
Actual Behavior
Errors during notifier server startup are only logged and can't be caught in a clean way.
Steps to reproduce the behavior
|
.then(() => { |
|
server = Http.createServer(requestHandler); |
|
server.listen(this.httpServerPort); |
|
const url = this.buildRequestUrl(configuration, request); |
|
log('Making a request to ', request, url); |
|
opener(url); |
|
}) |
|
.catch((error) => { |
|
log('Something bad happened ', error); |
|
emitter.emit(ServerEventsEmitter.ON_UNABLE_TO_START); |
|
}); |
1.) Add a line throw new Error('Some error occured'); above server = Http.createServer(requestHandler);
2.) Start the example electron app (see googlesamples/appauth-js-electron-sample/pull/3 with update to appauth v1.1.1)
3.) Click "Sign in"
Results in:
Uncaught (in promise) Unable to create HTTP server at port 8000
Environment
- AppAuth-JS version: 1.1.1
- AppAuth-JS Environment : Node/Electron
Expected Behavior
It would be usefull, if
ON_UNABLE_TO_STARTerrors would be bubbled up to the app, so it can react accordingly.Ideally,
NodeBasedHandler.performAuthorizationRequestwould return a promise, which is resolved as soon as the server is started and the consent screen has been opened.Also it would be usefull if the errors would be of class
AppAuthError, with a unique code.Describe the problem
Actual Behavior
Errors during notifier server startup are only logged and can't be caught in a clean way.
Steps to reproduce the behavior
AppAuth-JS/src/node_support/node_request_handler.ts
Lines 109 to 119 in 6a9c47c
1.) Add a line
throw new Error('Some error occured');aboveserver = Http.createServer(requestHandler);2.) Start the example electron app (see googlesamples/appauth-js-electron-sample/pull/3 with update to appauth v1.1.1)
3.) Click "Sign in"
Results in:
Environment