1
0
Fork 0
mirror of https://github.com/diamondburned/arikawa.git synced 2024-07-15 14:45:48 +00:00

json: Fixed a race condition with erroneous JSON streams

This commit is contained in:
diamondburned 2020-11-14 14:18:50 -08:00
parent 273fcf1418
commit f6e270ae9c

View file

@ -78,25 +78,14 @@ func WithBody(body io.ReadCloser) RequestOption {
// WithJSONBody inserts a JSON body into the request. This ignores JSON errors.
func WithJSONBody(v interface{}) RequestOption {
if v == nil {
return func(httpdriver.Request) error {
return nil
}
return func(httpdriver.Request) error { return nil }
}
var rp, wp = io.Pipe()
var err error
go func() {
err = json.EncodeStream(wp, v)
wp.Close()
}()
go func() { wp.CloseWithError(json.EncodeStream(wp, v)) }()
return func(r httpdriver.Request) error {
// TODO: maybe do something to this?
if err != nil {
return err
}
r.AddHeader(http.Header{
"Content-Type": {"application/json"},
})