diff --git a/.gitignore b/.gitignore index 2cf1da4..d5e97fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ dist -build \ No newline at end of file +build +.wrangler \ No newline at end of file diff --git a/internal/jshttp/response.go b/internal/jshttp/response.go index edffb90..41a11a9 100644 --- a/internal/jshttp/response.go +++ b/internal/jshttp/response.go @@ -4,7 +4,6 @@ import ( "io" "net/http" "strconv" - "strings" "syscall/js" "github.com/syumai/workers/internal/jsutil" @@ -14,8 +13,8 @@ import ( // - Response: https://developer.mozilla.org/docs/Web/API/Response func ToResponse(res js.Value) (*http.Response, error) { status := res.Get("status").Int() - promise := res.Call("text") - body, err := jsutil.AwaitPromise(promise) + promise := res.Call("blob") + blob, err := jsutil.AwaitPromise(promise) if err != nil { return nil, err } @@ -26,7 +25,7 @@ func ToResponse(res js.Value) (*http.Response, error) { Status: strconv.Itoa(status) + " " + res.Get("statusText").String(), StatusCode: status, Header: header, - Body: io.NopCloser(strings.NewReader(body.String())), + Body: io.NopCloser(jsutil.ConvertStreamReaderToReader(blob.Call("stream").Call("getReader"))), ContentLength: contentLength, }, nil }