cloudflare / cloudflare/durable-objects-template

TypeError: Can't read from request stream after response has been sent. when use stub.fetch(request)

Open
#14 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
60
Forks
29
PR merge metrics
No merged PRs in 30d

Description

I want to read JSON body sent by HTTP POST (application/json) from Durable Object class, however I cannot read request.headers, request.text(), request.json() inside Durable object class, fetch function.

Refer from Durable Object Runtime APIs Document:

https://developers.cloudflare.com/workers/runtime-apis/durable-objects/#sending-http-requests

```
let response = await stub.fetch(request);
let response = await stub.fetch(url, options);
```

and if you modify Counter example from
```
let resp = await obj.fetch(request.url);
```
to
```
let resp = await obj.fetch(request);
```

And send request to wrangler dev (wrangler 1.19.12) you'll got error

```
TypeError: Can't read from request stream after response has been sent. at line 0, col -2
{
"exceptionDetails": {
"columnNumber": -2,
"exception": {
"className": "TypeError",
"description": "TypeError: Can't read from request stream after response has been sent.",
"preview": {
"description": "TypeError: Can't read from request stream after response has been sent.",
"entries": null,
"overflow": false,
"properties": [
{
"name": "stack",
"subtype": null,
"type": "string",
"value": "TypeError: Can't read from request stream after response has been sent.",
"valuePreview": null
},
{
"name": "message",
"subtype": null,
"type": "string",
"value": "Can't read from request stream after response has been sent.",
"valuePreview": null
}
],
"subtype": "error",
"type": "object"
},
"subtype": "error",
"type": "object",
"value": null
},
"lineNumber": 0,
"text": "Uncaught (async)",
"url": "undefined"
},
"timestamp": 1655635954748
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.