import type { NextApiResponse } from 'next' import type { UploadedFile } from './types' export function handleProxyError(params: { res: NextApiResponse error: unknown targetEndpoint: string hostname: string file: UploadedFile }): void { const errorMessage = params.error instanceof Error ? params.error.message : 'Unknown request error' const isDnsError = errorMessage.includes('DNS resolution failed') || errorMessage.includes('ENOTFOUND') || errorMessage.includes('EAI_AGAIN') console.error('NIP-95 proxy request error:', { targetEndpoint: params.targetEndpoint, hostname: params.hostname, error: errorMessage, isDnsError, fileSize: params.file.size, fileName: params.file.originalFilename, suggestion: isDnsError ? 'The server cannot resolve the domain name. Check DNS configuration and network connectivity.' : undefined, }) if (isDnsError) { params.res.status(500).json({ error: `DNS resolution failed for ${params.hostname}. The server cannot resolve the domain name. Please check DNS configuration and network connectivity.`, }) return } params.res.status(500).json({ error: `Failed to connect to upload endpoint: ${errorMessage}` }) }