File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -31,4 +31,8 @@ export class NeedInfoError extends ForbiddenHttpError {
3131 this . ticket = ticket ;
3232 this . additionalParams = additionalParams ;
3333 }
34+
35+ public static isInstance ( error : unknown ) : error is NeedInfoError {
36+ return ForbiddenHttpError . isInstance ( error ) && typeof ( error as NeedInfoError ) . ticket === 'string' ;
37+ }
3438}
Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ export class ResourceRegistrationRequestHandler extends HttpHandler {
5757 reType ( body , ResourceDescription ) ;
5858 } catch ( e ) {
5959 this . logger . warn ( `Syntax error: ${ createErrorMessage ( e ) } , ${ body } ` ) ;
60- this . error ( BadRequestHttpError , `Request has bad syntax${ e instanceof Error ? ': ' + e . message : '' } ` )
60+ this . error ( BadRequestHttpError , `Request has bad syntax: ${ createErrorMessage ( e ) } ` )
6161 }
6262
6363 const resource = randomUUID ( ) ;
Original file line number Diff line number Diff line change @@ -35,17 +35,11 @@ export class TicketRequestHandler extends HttpHandler {
3535 this . logger . info ( `Received permission registration request.` ) ;
3636 if ( ! await verifyRequest ( request ) ) throw new UnauthorizedHttpError ( ) ;
3737
38- if ( ! request . body || ! Array . isArray ( request . body ) ) {
39- this . error ( BadRequestHttpError , 'Request body must be a JSON array.' ) ;
40- }
41-
4238 try {
4339 reType ( request . body , array ( Permission ) ) ;
4440 } catch ( e ) {
45- this . logger . debug ( `Syntax error: ${ createErrorMessage ( e ) } , ${ request . body } ` ) ;
46- e instanceof Error
47- ? this . error ( BadRequestHttpError , 'Request has bad syntax: ' + e . message )
48- : this . error ( BadRequestHttpError , 'Request has bad syntax' ) ;
41+ this . logger . warn ( `Syntax error: ${ createErrorMessage ( e ) } , ${ request . body } ` ) ;
42+ throw new BadRequestHttpError ( `Request has bad syntax: ${ createErrorMessage ( e ) } ` ) ;
4943 }
5044
5145 const ticket = await this . ticketingStrategy . initializeTicket ( request . body ) ;
@@ -61,15 +55,4 @@ export class TicketRequestHandler extends HttpHandler {
6155 body : { ticket : id } ,
6256 } ;
6357 }
64-
65- /**
66- * Logs and throws an error
67- *
68- * @param {ErrorConstructor } constructor - the error constructor
69- * @param {string } message - the error message
70- */
71- private error ( constructor : ErrorConstructor , message : string ) : never {
72- this . logger . warn ( message ) ;
73- throw new constructor ( message ) ;
74- }
7558}
Original file line number Diff line number Diff line change @@ -41,11 +41,11 @@ export class TokenRequestHandler extends HttpHandler {
4141 body : tokenResponse
4242 } ;
4343 } catch ( e ) {
44- if ( ForbiddenHttpError . isInstance ( e ) ) return ( {
44+ if ( NeedInfoError . isInstance ( e ) ) return ( {
4545 status : 403 ,
4646 body : {
47- ticket : ( e as NeedInfoError ) . ticket ,
48- ...( e as NeedInfoError ) . additionalParams
47+ ticket : e . ticket ,
48+ ...e . additionalParams
4949 }
5050 } ) ;
5151 throw e ; // TODO: distinguish other errors
Original file line number Diff line number Diff line change @@ -68,7 +68,12 @@ export class NodeHttpRequestResponseHandler extends NodeHttpStreamsHandler {
6868
6969 const context : HttpHandlerContext < Buffer > = { request : httpHandlerRequest } ;
7070
71- this . logger . info ( `Domestic request: ${ JSON . stringify ( { eventType : 'domestic_request' , context } ) } ` ) ;
71+ this . logger . info ( `Domestic request: ${ JSON . stringify ( { eventType : 'domestic_request' , context : {
72+ request : {
73+ ...context . request ,
74+ ...context . request . body && { body : context . request . body . toString ( ) }
75+ }
76+ } } ) } `) ;
7277
7378 let response = await this . httpHandler . handleSafe ( context ) ;
7479
You can’t perform that action at this time.
0 commit comments