perf: multi-thread downloader, Content-Disposition
(#4921)
general: enhance multi-thread downloader with cancelable context, immediately stop all stream processes when canceled; feat(crypt): improve stream closing; general: fix the bug of downloading files becomes previewing stream on modern browsers; Co-authored-by: Sean He <866155+seanhe26@users.noreply.github.com> Co-authored-by: Andy Hsu <i@nn.ci>
This commit is contained in:
@ -1,19 +1 @@
|
||||
package base
|
||||
|
||||
import "io"
|
||||
|
||||
type Closers struct {
|
||||
closers []io.Closer
|
||||
}
|
||||
|
||||
func (c *Closers) Close() (err error) {
|
||||
for _, closer := range c.closers {
|
||||
if closer != nil {
|
||||
_ = closer.Close()
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (c *Closers) Add(closer io.Closer) {
|
||||
c.closers = append(c.closers, closer)
|
||||
}
|
||||
|
Reference in New Issue
Block a user