mirror of
https://github.com/nlepage/go-wasm-http-server.git
synced 2025-03-10 09:27:08 +00:00
fix: avoids closing cancelled readablestream
This commit is contained in:
parent
669f82020d
commit
30a6ef67f9
Binary file not shown.
@ -18,6 +18,8 @@ type Writer struct {
|
||||
var _ io.WriteCloser = (*Writer)(nil)
|
||||
|
||||
func NewWriter() (*Writer, error) {
|
||||
var rs *Writer
|
||||
|
||||
var start safejs.Func
|
||||
var controller safejs.Value
|
||||
|
||||
@ -35,6 +37,7 @@ func NewWriter() (*Writer, error) {
|
||||
|
||||
cancel, err = safejs.FuncOf(func(_ safejs.Value, _ []safejs.Value) any {
|
||||
defer cancel.Release()
|
||||
rs.cancelled = true
|
||||
cancelCtx()
|
||||
return nil
|
||||
})
|
||||
@ -55,17 +58,12 @@ func NewWriter() (*Writer, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rs := &Writer{
|
||||
rs = &Writer{
|
||||
Value: value,
|
||||
controller: controller,
|
||||
ctx: ctx,
|
||||
}
|
||||
|
||||
go func() {
|
||||
<-ctx.Done()
|
||||
rs.cancelled = true
|
||||
}()
|
||||
|
||||
return rs, nil
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user