@@ -58,10 +58,14 @@ const DEFAULT_USER_AGENT = createUserAgentFromPkgJson(rootPkgJson)
58
58
class ResponseError extends Error {
59
59
response : IncomingMessage
60
60
constructor ( response : IncomingMessage , message : string = '' ) {
61
+ const statusCode = response . statusCode ?? 'Unknown'
62
+ const statusMessage = response . statusMessage ?? 'No status message'
61
63
super (
62
- `Socket API ${ message || 'request failed' } : ${ response . statusCode } - ${ response . statusMessage } `
64
+ `Socket API - ${ message || 'Request failed' } : ${ statusCode } - ${ statusMessage } `
63
65
)
66
+ this . name = 'ResponseError'
64
67
this . response = response
68
+ Error . captureStackTrace ( this , ResponseError )
65
69
}
66
70
}
67
71
@@ -180,7 +184,9 @@ async function createUploadRequest(
180
184
// Ensure a new line after file content.
181
185
req . write ( '\r\n' )
182
186
} else {
183
- throw new TypeError ( 'Invalid multipart part: expected string or stream' )
187
+ throw new TypeError (
188
+ 'Socket API - Invalid multipart part, expected string or stream'
189
+ )
184
190
}
185
191
}
186
192
} finally {
@@ -219,8 +225,11 @@ async function getResponseJson(
219
225
}
220
226
try {
221
227
return JSON . parse ( data )
222
- } catch {
223
- throw new Error ( `Socket API returned an invalid JSON response: ${ data } ` )
228
+ } catch ( e ) {
229
+ throw new Error (
230
+ `Socket API - Invalid JSON response:\n${ data } \n→ ${ ( e as Error ) ?. message || 'Unknown error' } ` ,
231
+ { cause : e }
232
+ )
224
233
}
225
234
}
226
235
@@ -344,7 +353,9 @@ export class SocketSdk {
344
353
}
345
354
const statusCode = error . response . statusCode
346
355
if ( statusCode ! >= 500 ) {
347
- throw new Error ( 'Socket API returned an error' , { cause : error } )
356
+ throw new Error ( `Socket API server error (${ statusCode } )` , {
357
+ cause : error
358
+ } )
348
359
}
349
360
return {
350
361
success : false as const ,
0 commit comments