@@ -50,12 +50,12 @@ export async function makeHttpsRequest({
50
50
body, method, json, headers, agent, searchParams
51
51
} ) ;
52
52
} catch ( e ) {
53
- error = _sanitizeErrorHeaders ( { error : e } ) ;
53
+ error = _sanitizeError ( { error : e } ) ;
54
54
}
55
55
const { data, statusCode} = _getDataAndStatus ( { result, error} ) ;
56
56
// if a result is returned sanitize it
57
57
if ( result ) {
58
- result = _sanitizeResponseHeaders ( { response : result , data} ) ;
58
+ result = _sanitizeResponse ( { response : result , data} ) ;
59
59
}
60
60
return { result, error, data, statusCode} ;
61
61
}
@@ -91,12 +91,12 @@ export async function zcapRequest({
91
91
capability
92
92
} ) ;
93
93
} catch ( e ) {
94
- error = _sanitizeErrorHeaders ( { error : e } ) ;
94
+ error = _sanitizeError ( { error : e } ) ;
95
95
}
96
96
const { data, statusCode} = _getDataAndStatus ( { result, error} ) ;
97
97
// if a result is returned sanitize it
98
98
if ( result ) {
99
- result = _sanitizeResponseHeaders ( { response : result , data} ) ;
99
+ result = _sanitizeResponse ( { response : result , data} ) ;
100
100
}
101
101
return { result, error, data, statusCode} ;
102
102
}
@@ -114,7 +114,7 @@ async function _getZcapClient({secretKeySeed}) {
114
114
115
115
function _getDataAndStatus ( { result = { } , error = { } } ) {
116
116
let data = result . data || error . data ;
117
- // FIXME remove this once VC-API returns from the issuer
117
+ // FIXME remove this once data returned from the issuers
118
118
// are finalized.
119
119
if ( data && data . verifiableCredential ) {
120
120
data = data . verifiableCredential ;
@@ -123,22 +123,20 @@ function _getDataAndStatus({result = {}, error = {}}) {
123
123
return { data, statusCode} ;
124
124
}
125
125
126
- function _sanitizeErrorHeaders ( { error} ) {
126
+ function _sanitizeError ( { error} ) {
127
127
if ( error . response ) {
128
- error . response = _sanitizeResponseHeaders ( {
128
+ error . response = _sanitizeResponse ( {
129
129
response : error . response ,
130
130
data : error . data
131
131
} ) ;
132
132
}
133
133
if ( error . request ) {
134
- error . request = new global . Request ( error . request , {
135
- headers : _sanitizeHeaders ( { httpMessage : error . request } )
136
- } ) ;
134
+ error . request = _sanitizeRequest ( { request : error . request } ) ;
137
135
}
138
136
return error ;
139
137
}
140
138
141
- function _sanitizeResponseHeaders ( { response, data} ) {
139
+ function _sanitizeResponse ( { response, data} ) {
142
140
const newResponse = new global . Response ( JSON . stringify ( data ) , {
143
141
headers : _sanitizeHeaders ( { httpMessage : response } ) ,
144
142
status : response . status ,
@@ -152,6 +150,25 @@ function _sanitizeResponseHeaders({response, data}) {
152
150
return newResponse ;
153
151
}
154
152
153
+ function _sanitizeRequest ( { request} ) {
154
+ // get the url and the remaining properties from the request
155
+ const { url, ...props } = request ;
156
+ // create an options object to pass to the new request
157
+ const options = { } ;
158
+ // do not copy these properties from the request
159
+ const skipKeys = new Set ( [ 'body' , 'headers' ] ) ;
160
+ for ( const key in props ) {
161
+ if ( skipKeys . has ( key ) ) {
162
+ continue ;
163
+ }
164
+ options [ key ] = request [ key ] ;
165
+ }
166
+ return new global . Request ( url , {
167
+ ...options ,
168
+ headers : _sanitizeHeaders ( { httpMessage : request } )
169
+ } ) ;
170
+ }
171
+
155
172
/**
156
173
* Takes in either a response or request & sanitizes the headers.
157
174
*
@@ -174,7 +191,7 @@ function _sanitizeHeaders({httpMessage, headers = sanitizeHeaders}) {
174
191
for ( const header of headers ) {
175
192
// sanitize the headers to prevent
176
193
// authn tokens / information potentially in logs
177
- newHeaders . set ( header , '** SANITIZED TO PREVENT EXPOSING OF SECRETS *** ' ) ;
194
+ newHeaders . set ( header , 'sanitized to prevent exposure of secrets ' ) ;
178
195
}
179
196
return newHeaders ;
180
197
}
0 commit comments