mirror of
https://github.com/syumai/workers.git
synced 2025-03-10 17:29:11 +00:00
23 lines
564 B
Go
23 lines
564 B
Go
package jshttp
|
|
|
|
import (
|
|
"net/http"
|
|
"syscall/js"
|
|
|
|
"github.com/syumai/workers/internal/jsutil"
|
|
)
|
|
|
|
func ToJSResponse(w *ResponseWriterBuffer) (js.Value, error) {
|
|
<-w.ReadyCh // wait until ready
|
|
status := w.StatusCode
|
|
if status == 0 {
|
|
status = http.StatusOK
|
|
}
|
|
respInit := jsutil.NewObject()
|
|
respInit.Set("status", status)
|
|
respInit.Set("statusText", http.StatusText(status))
|
|
respInit.Set("headers", ToJSHeader(w.Header()))
|
|
readableStream := jsutil.ConvertReaderToReadableStream(w.Reader)
|
|
return jsutil.ResponseClass.New(readableStream, respInit), nil
|
|
}
|