19 lines
801 B
TypeScript
19 lines
801 B
TypeScript
import { getErrnoCode } from './systemErrors'
|
|
|
|
export function handleProxyRequestError(params: { error: unknown; targetEndpoint: string; hostname: string }): Error {
|
|
const errorMessage = params.error instanceof Error ? params.error.message : 'Unknown request error'
|
|
const errorCode = getErrnoCode(params.error)
|
|
if (errorCode === 'ENOTFOUND' || errorCode === 'EAI_AGAIN') {
|
|
console.error('NIP-95 proxy DNS error:', {
|
|
targetEndpoint: params.targetEndpoint,
|
|
hostname: params.hostname,
|
|
errorCode,
|
|
errorMessage,
|
|
suggestion: 'Check DNS resolution or network connectivity on the server',
|
|
})
|
|
return new Error(`DNS resolution failed for ${params.hostname}: ${errorMessage}`)
|
|
}
|
|
return params.error instanceof Error ? params.error : new Error(errorMessage)
|
|
}
|
|
|