mirror of
https://github.com/nlepage/go-wasm-http-server.git
synced 2025-03-10 17:29:10 +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
|
off int
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ io.Reader = (*Reader)(nil)
|
var _ io.ReadCloser = (*Reader)(nil)
|
||||||
|
|
||||||
func NewReader(r safejs.Value) *Reader {
|
func NewReader(r safejs.Value) *Reader {
|
||||||
return &Reader{
|
return &Reader{
|
||||||
@ -83,3 +83,14 @@ func (r *Reader) Read(p []byte) (int, error) {
|
|||||||
|
|
||||||
return n, nil
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var bodyReader io.Reader
|
var bodyReader io.ReadCloser
|
||||||
|
|
||||||
if !body.IsNull() {
|
if !body.IsNull() {
|
||||||
// WORKAROUND: Firefox does not have request.body ReadableStream
|
// WORKAROUND: Firefox does not have request.body ReadableStream
|
||||||
@ -66,7 +66,7 @@ func Request(uvalue js.Value) (*http.Request, error) {
|
|||||||
req := &http.Request{
|
req := &http.Request{
|
||||||
Method: method,
|
Method: method,
|
||||||
URL: u,
|
URL: u,
|
||||||
Body: io.NopCloser(bodyReader),
|
Body: bodyReader,
|
||||||
Header: make(http.Header),
|
Header: make(http.Header),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user