Do not reuse HTTP/3 handler, TODO investigate error 0x100 on retry
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
09c0541b9e
commit
07acd86c8e
12
http.go
12
http.go
|
@ -14,10 +14,6 @@ import (
|
|||
|
||||
const rangeReaderBufferSize = 1024 * 16
|
||||
|
||||
var httpClient = http.Client{
|
||||
Transport: &http3.RoundTripper{},
|
||||
}
|
||||
|
||||
type RangeReadSeekCloser struct {
|
||||
uri *url.URL
|
||||
size int64
|
||||
|
@ -28,6 +24,7 @@ type RangeReadSeekCloser struct {
|
|||
bufferOffset int64
|
||||
closed bool
|
||||
fileName string
|
||||
httpClient http.Client
|
||||
}
|
||||
|
||||
func NewRangeReadSeekCloser(uri string) (*RangeReadSeekCloser, error) {
|
||||
|
@ -37,6 +34,9 @@ func NewRangeReadSeekCloser(uri string) (*RangeReadSeekCloser, error) {
|
|||
}
|
||||
r := &RangeReadSeekCloser{
|
||||
uri: parsedUrl,
|
||||
httpClient: http.Client{
|
||||
Transport: &http3.RoundTripper{},
|
||||
},
|
||||
}
|
||||
|
||||
if err = r.getInformation(); err != nil {
|
||||
|
@ -62,7 +62,7 @@ func (r *RangeReadSeekCloser) retryConnect() error {
|
|||
|
||||
expectedLength := r.size - startOffset
|
||||
headers.Set("Range", fmt.Sprintf("bytes=%d-", startOffset))
|
||||
response, err := httpClient.Do(&http.Request{
|
||||
response, err := r.httpClient.Do(&http.Request{
|
||||
Method: "GET",
|
||||
URL: r.uri,
|
||||
Header: headers,
|
||||
|
@ -212,7 +212,7 @@ func (r *RangeReadSeekCloser) GetFileName() string {
|
|||
}
|
||||
|
||||
func (r *RangeReadSeekCloser) getInformation() error {
|
||||
response, err := httpClient.Head(r.GetURI())
|
||||
response, err := r.httpClient.Head(r.GetURI())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue