mirror of
https://github.com/dillonkearns/elm-pages.git
synced 2024-10-26 10:27:36 +03:00
Handle HTTP errors in the middle of a Stream.
This commit is contained in:
parent
0954490e7d
commit
66f72d5430
@ -160,6 +160,20 @@ b =
|
||||
|> try
|
||||
|> expectError "HTTP FatalError message"
|
||||
"BadStatus: 404 Not Found"
|
||||
, Stream.fromString "Hello!"
|
||||
|> Stream.pipe
|
||||
(Stream.httpWithInput
|
||||
{ url = "https://jsonplaceholder.typicode.com/posts/124"
|
||||
, timeoutInMs = Nothing
|
||||
, retries = Nothing
|
||||
, headers = []
|
||||
, method = "POST"
|
||||
}
|
||||
)
|
||||
|> Stream.pipe Stream.stdout
|
||||
|> Stream.run
|
||||
|> expectError "HTTP error in the middle of a stream"
|
||||
"HTTP request failed: 404 Not Found"
|
||||
, Stream.fromString "This is input..."
|
||||
|> Stream.pipe
|
||||
(Stream.customTransformWithMeta
|
||||
|
@ -772,16 +772,22 @@ function runStream(req, portsFile) {
|
||||
retry: part.retries,
|
||||
timeout: part.timeoutInMs,
|
||||
});
|
||||
let metadata = () => {
|
||||
return {
|
||||
headers: Object.fromEntries(response.headers.entries()),
|
||||
statusCode: response.status,
|
||||
// bodyKind,
|
||||
url: response.url,
|
||||
statusText: response.statusText,
|
||||
if (!isLastProcess && !response.ok) {
|
||||
resolve({
|
||||
error: `HTTP request failed: ${response.status} ${response.statusText}`,
|
||||
});
|
||||
} else {
|
||||
let metadata = () => {
|
||||
return {
|
||||
headers: Object.fromEntries(response.headers.entries()),
|
||||
statusCode: response.status,
|
||||
// bodyKind,
|
||||
url: response.url,
|
||||
statusText: response.statusText,
|
||||
};
|
||||
};
|
||||
};
|
||||
return { metadata, stream: response.body };
|
||||
return { metadata, stream: response.body };
|
||||
}
|
||||
} else if (part.name === "command") {
|
||||
const { command, args, allowNon0Status, output } = part;
|
||||
/** @type {'ignore' | 'inherit'} } */
|
||||
|
Loading…
Reference in New Issue
Block a user