Skip to content

Commit

Permalink
net/http: correct use of byte slice in js syscall
Browse files Browse the repository at this point in the history
syscall/js does not allow []byte to be used in direct inputs to
its JavaScript manipulation methods since
bafe466.
Unfortunately, this use of a byte slice was missed, so any
uses of the WASM Roundtripper with a body will panic.
This ensures the byte slice is appropriately converted
before being passed to syscall.

Fixes #26349

Change-Id: I83847645d71ce310c1eee3decddbac990fae166b
GitHub-Last-Rev: 3914bda
GitHub-Pull-Request: #26350
Reviewed-on: https://go-review.googlesource.com/123537
Run-TryBot: Emmanuel Odeke <[email protected]>
Reviewed-by: Richard Musiol <[email protected]>
Reviewed-by: Brad Fitzpatrick <[email protected]>
  • Loading branch information
johanbrandhorst authored and bradfitz committed Jul 13, 2018
1 parent 05e02d7 commit 28502b5
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/net/http/roundtrip_js.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ func (t *Transport) RoundTrip(req *Request) (*Response, error) {
return nil, err
}
req.Body.Close()
opt.Set("body", body)
a := js.TypedArrayOf(body)
defer a.Release()
opt.Set("body", a)
}
respPromise := js.Global().Call("fetch", req.URL.String(), opt)
var (
Expand Down

0 comments on commit 28502b5

Please sign in to comment.