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