From a19471694e6685b58b20d739a13b9e1466454e0a Mon Sep 17 00:00:00 2001 From: aki-0421 <118268728+aki-0421@users.noreply.github.com> Date: Wed, 26 Apr 2023 12:56:33 +0900 Subject: [PATCH] R: allow null body --- internal/jshttp/response.go | 6 ++++++ internal/jsutil/jsutil.go | 1 + 2 files changed, 7 insertions(+) diff --git a/internal/jshttp/response.go b/internal/jshttp/response.go index e19fc7a..cc56023 100644 --- a/internal/jshttp/response.go +++ b/internal/jshttp/response.go @@ -43,6 +43,12 @@ func ToJSResponse(w *ResponseWriterBuffer) (js.Value, error) { respInit.Set("status", status) respInit.Set("statusText", http.StatusText(status)) respInit.Set("headers", ToJSHeader(w.Header())) + if status == http.StatusSwitchingProtocols || + status == http.StatusNoContent || + status == http.StatusResetContent || + status == http.StatusNotModified { + return jsutil.ResponseClass.New(jsutil.Null, respInit), nil + } readableStream := jsutil.ConvertReaderToReadableStream(w.Reader) return jsutil.ResponseClass.New(readableStream, respInit), nil } diff --git a/internal/jsutil/jsutil.go b/internal/jsutil/jsutil.go index ac21397..ef315b3 100644 --- a/internal/jsutil/jsutil.go +++ b/internal/jsutil/jsutil.go @@ -18,6 +18,7 @@ var ( ErrorClass = Global.Get("Error") ReadableStreamClass = Global.Get("ReadableStream") DateClass = Global.Get("Date") + Null = js.ValueOf(nil) ) func NewObject() js.Value {