(error: Error)
| 111 | } |
| 112 | |
| 113 | function errorHasTransientTransportCode(error: Error): boolean { |
| 114 | const code = (error as NodeJS.ErrnoException).code; |
| 115 | return ( |
| 116 | // TCP RST or equivalent: common under flaky networks or after server restart. |
| 117 | code === 'ECONNRESET' || |
| 118 | // Writing to a socket whose other end is gone (often grouped with reset/hang-up). |
| 119 | code === 'EPIPE' || |
| 120 | // Socket-level failure after connect (e.g. unexpected close on the wire). |
| 121 | code === 'UND_ERR_SOCKET' |
| 122 | ); |
| 123 | } |