@@ -19,7 +19,7 @@ import { FirebaseApp } from '../app/firebase-app';
1919import {
2020 AuthorizedHttpClient , RequestResponseError , HttpMethod , HttpRequestConfig , ExponentialBackoffPoller ,
2121} from '../utils/api-request' ;
22- import { FirebaseProjectManagementError , ProjectManagementErrorCode } from '../utils/error' ;
22+ import { FirebaseProjectManagementError , ProjectManagementErrorCode , HttpResponse , toHttpResponse } from '../utils/error' ;
2323import { getSdkVersion } from '../utils/index' ;
2424import * as validator from '../utils/validator' ;
2525import { ShaCertificate } from './android-app' ;
@@ -68,7 +68,7 @@ export class ProjectManagementRequestHandler {
6868 `https://${ PROJECT_MANAGEMENT_HOST_AND_PORT } ${ PROJECT_MANAGEMENT_BETA_PATH } ` ;
6969 private readonly httpClient : AuthorizedHttpClient ;
7070
71- private static wrapAndRethrowHttpError ( errStatusCode : number , errText ?: string ) : void {
71+ private static wrapAndRethrowHttpError ( errStatusCode : number , errText ?: string , httpResponse ?: HttpResponse ) : void {
7272 let errorCode : ProjectManagementErrorCode ;
7373 let errorMessage : string ;
7474
@@ -111,7 +111,12 @@ export class ProjectManagementRequestHandler {
111111 }
112112 throw new FirebaseProjectManagementError ( {
113113 code : errorCode ,
114- message : `${ errorMessage } Status code: ${ errStatusCode } . Raw server response: "${ errText } ".`
114+ message : errorMessage ,
115+ httpResponse : httpResponse || {
116+ status : errStatusCode ,
117+ headers : { } ,
118+ data : errText ,
119+ } ,
115120 } ) ;
116121 }
117122
@@ -332,7 +337,7 @@ export class ProjectManagementRequestHandler {
332337 . catch ( ( err ) => {
333338 if ( err instanceof RequestResponseError ) {
334339 ProjectManagementRequestHandler . wrapAndRethrowHttpError (
335- err . response . status , err . response . text ) ;
340+ err . response . status , err . response . text , toHttpResponse ( err . response ) ) ;
336341 }
337342 throw err ;
338343 } ) ;
0 commit comments