| 3224 | } |
| 3225 | |
| 3226 | function isFinished(stream) { |
| 3227 | |
| 3228 | // Response & Request |
| 3229 | if (stream.socket) { |
| 3230 | if (stream.writable && (!stream.socket._writableState || stream.socket._writableState.finished || stream.socket._writableState.destroyed)) |
| 3231 | return true; |
| 3232 | if (stream.readable && (!stream.socket._readableState|| stream.socket._writableState.ended || stream.socket._readableState.destroyed)) |
| 3233 | return true; |
| 3234 | return false; |
| 3235 | } |
| 3236 | |
| 3237 | if (stream._readableState && (stream._readableState.ended || stream._readableState.destroyed)) |
| 3238 | return true; |
| 3239 | |
| 3240 | if (stream._writableState && (stream._writableState.finished || stream._writableState.destroyed)) |
| 3241 | return true; |
| 3242 | |
| 3243 | return false; |
| 3244 | } |
| 3245 | |
| 3246 | function onFinished(stream, fn) { |
| 3247 | |