| 7147 | }); |
| 7148 | } |
| 7149 | function fixResponseChunkedTransferBadEnding(request3, errorCallback) { |
| 7150 | let socket; |
| 7151 | request3.on("socket", function(s2) { |
| 7152 | socket = s2; |
| 7153 | }); |
| 7154 | request3.on("response", function(response) { |
| 7155 | const headers = response.headers; |
| 7156 | if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { |
| 7157 | response.once("close", function(hadError) { |
| 7158 | const hasDataListener = socket && socket.listenerCount("data") > 0; |
| 7159 | if (hasDataListener && !hadError) { |
| 7160 | const err = new Error("Premature close"); |
| 7161 | err.code = "ERR_STREAM_PREMATURE_CLOSE"; |
| 7162 | errorCallback(err); |
| 7163 | } |
| 7164 | }); |
| 7165 | } |
| 7166 | }); |
| 7167 | } |
| 7168 | function destroyStream(stream4, err) { |
| 7169 | if (stream4.destroy) { |
| 7170 | stream4.destroy(err); |