mirror of
https://github.com/nlepage/go-wasm-http-server.git
synced 2025-03-10 09:27:08 +00:00
implements io.Closer for readablestream.Reader
This commit is contained in:
parent
a16a847b26
commit
d12a255cff
@ -14,7 +14,7 @@ type Reader struct {
|
||||
off int
|
||||
}
|
||||
|
||||
var _ io.Reader = (*Reader)(nil)
|
||||
var _ io.ReadCloser = (*Reader)(nil)
|
||||
|
||||
func NewReader(r safejs.Value) *Reader {
|
||||
return &Reader{
|
||||
@ -83,3 +83,14 @@ func (r *Reader) Read(p []byte) (int, error) {
|
||||
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (r *Reader) Close() error {
|
||||
p, err := r.value.Call("cancel")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = promise.Await(safejs.Unsafe(p))
|
||||
|
||||
return err
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ func Request(uvalue js.Value) (*http.Request, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var bodyReader io.Reader
|
||||
var bodyReader io.ReadCloser
|
||||
|
||||
if !body.IsNull() {
|
||||
// WORKAROUND: Firefox does not have request.body ReadableStream
|
||||
@ -66,7 +66,7 @@ func Request(uvalue js.Value) (*http.Request, error) {
|
||||
req := &http.Request{
|
||||
Method: method,
|
||||
URL: u,
|
||||
Body: io.NopCloser(bodyReader),
|
||||
Body: bodyReader,
|
||||
Header: make(http.Header),
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user