var requestParts []requestPart
if !ws.fileIndex.Locate(r, func(i int, e segments.Extent) bool {
req, err := newRequest(
+ ctx,
ws.Url, i, ws.info, e.Start, e.Length,
ws.PathEscaper,
)
if err != nil {
panic(err)
}
- req = req.WithContext(ctx)
part := requestPart{
req: req,
result: make(chan requestPartResult, 1),
package webseed
import (
+ "context"
"fmt"
"net/http"
"net/url"
// Creates a request per BEP 19.
func newRequest(
+ ctx context.Context,
url_ string, fileIndex int,
info *metainfo.Info,
offset, length int64,
// for things like spaces and '#'.
url_ += trailingPath(info.Name, fileInfo.Path, pathEscaper)
}
- req, err := http.NewRequest(http.MethodGet, url_, nil)
+ req, err := http.NewRequestWithContext(ctx, http.MethodGet, url_, nil)
if err != nil {
return nil, err
}