Skip to content

Commit 2addcf2

Browse files
authored
Guard access of response.type to support Cloudflare Workers (#321)
1 parent 80de3ee commit 2addcf2

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

packages/twirp-transport/src/twirp-transport.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ export class TwirpFetchTransport implements RpcTransport {
5858

5959
defHeader.resolve(parseMetadataFromResponseHeaders(fetchResponse.headers));
6060

61-
switch (fetchResponse.type) {
61+
// Cloudflare Workers throw when the type property of a fetch response
62+
// is accessed, so wrap access with try/catch. See:
63+
// * https://developers.cloudflare.com/workers/runtime-apis/response/#properties
64+
// * https://github.com/cloudflare/miniflare/blob/72f046e/packages/core/src/standards/http.ts#L646
65+
let responseType
66+
try { responseType = fetchResponse.type } catch {}
67+
switch (responseType) {
6268
case "error":
6369
case "opaque":
6470
case "opaqueredirect":

0 commit comments

Comments
 (0)