From b29c85d053e8beb51216fa2cce47e1d21258ad79 Mon Sep 17 00:00:00 2001 From: Helen Lin Date: Tue, 8 Aug 2023 16:02:13 -0700 Subject: [PATCH] Catch storefront api error when no valid body exists (#1205) * Catch error * update message --- .changeset/long-goats-poke.md | 5 +++++ packages/hydrogen/src/cache/fetch.ts | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/long-goats-poke.md diff --git a/.changeset/long-goats-poke.md b/.changeset/long-goats-poke.md new file mode 100644 index 0000000000..26cf1607d5 --- /dev/null +++ b/.changeset/long-goats-poke.md @@ -0,0 +1,5 @@ +--- +'@shopify/hydrogen': patch +--- + +Surface storefront api response errors diff --git a/packages/hydrogen/src/cache/fetch.ts b/packages/hydrogen/src/cache/fetch.ts index e3a1ee9cdd..21985a3685 100644 --- a/packages/hydrogen/src/cache/fetch.ts +++ b/packages/hydrogen/src/cache/fetch.ts @@ -152,7 +152,16 @@ export async function fetchWithServerCache( try { data = await response[returnType](); } catch { - data = await response.text(); + try { + data = await response.text(); + } catch { + // Getting a response without a valid body + throw new Error( + `Storefront API response code: ${ + response.status + } (Request Id: ${response.headers.get('x-request-id')})`, + ); + } } return toSerializableResponse(data, response);