mirror of
https://github.com/syumai/workers.git
synced 2025-03-10 17:29:11 +00:00
fixed panic on fetch returning empty response
This commit is contained in:
parent
50d520dbd0
commit
cf3b68b6b3
@ -30,5 +30,5 @@ func fetch(namespace js.Value, req *http.Request, init *RequestInit) (*http.Resp
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return jshttp.ToStreamResponse(jsRes)
|
return jshttp.ToResponse(jsRes)
|
||||||
}
|
}
|
||||||
|
@ -30,17 +30,6 @@ func ToResponse(res js.Value) (*http.Response, error) {
|
|||||||
return toResponse(res, body)
|
return toResponse(res, body)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToStreamResponse pipes JavaScript sides Response to TransformStream and converts to *http.Response.
|
|
||||||
// - see: https://developers.cloudflare.com/workers/runtime-apis/streams/
|
|
||||||
func ToStreamResponse(res js.Value) (*http.Response, error) {
|
|
||||||
ts := js.Global().Get("IdentityTransformStream").New()
|
|
||||||
readable := ts.Get("readable")
|
|
||||||
writable := ts.Get("writable")
|
|
||||||
res.Get("body").Call("pipeTo", writable)
|
|
||||||
body := jsutil.ConvertReadableStreamToReadCloser(readable)
|
|
||||||
return toResponse(res, body)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToJSResponse converts *http.Response to JavaScript sides Response class object.
|
// ToJSResponse converts *http.Response to JavaScript sides Response class object.
|
||||||
func ToJSResponse(res *http.Response) js.Value {
|
func ToJSResponse(res *http.Response) js.Value {
|
||||||
return newJSResponse(res.StatusCode, res.Header, res.Body, nil)
|
return newJSResponse(res.StatusCode, res.Header, res.Body, nil)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user