From 6ae2ab5eb5f5458ef7bbf4c4108314cf0192dcea Mon Sep 17 00:00:00 2001 From: j2rong4cn Date: Sun, 6 Jul 2025 00:52:25 +0800 Subject: [PATCH] chore --- drivers/123/upload.go | 2 +- drivers/onedrive_sharelink/driver.go | 8 ++++---- drivers/onedrive_sharelink/util.go | 25 +++++++++++++------------ drivers/quark_uc_tv/driver.go | 5 +++-- drivers/quark_uc_tv/util.go | 4 ++-- internal/net/request.go | 2 +- internal/stream/util.go | 2 +- pkg/gowebdav/client.go | 4 ++-- 8 files changed, 27 insertions(+), 25 deletions(-) diff --git a/drivers/123/upload.go b/drivers/123/upload.go index 74cd1f43..8e955e24 100644 --- a/drivers/123/upload.go +++ b/drivers/123/upload.go @@ -139,7 +139,7 @@ func (d *Pan123) newUpload(ctx context.Context, upReq *UploadResp, file model.Fi return fmt.Errorf("upload url is empty, s3PreSignedUrls: %+v", s3PreSignedUrls) } reader.Seek(0, io.SeekStart) - req, err := http.NewRequestWithContext(ctx, http.MethodPost, uploadUrl, rateLimitedRd) + req, err := http.NewRequestWithContext(ctx, http.MethodPut, uploadUrl, rateLimitedRd) if err != nil { return err } diff --git a/drivers/onedrive_sharelink/driver.go b/drivers/onedrive_sharelink/driver.go index 08ed07e0..42d0f190 100644 --- a/drivers/onedrive_sharelink/driver.go +++ b/drivers/onedrive_sharelink/driver.go @@ -38,14 +38,14 @@ func (d *OnedriveSharelink) Init(ctx context.Context) error { d.cron = cron.NewCron(time.Hour * 1) d.cron.Do(func() { var err error - d.Headers, err = d.getHeaders() + d.Headers, err = d.getHeaders(ctx) if err != nil { log.Errorf("%+v", err) } }) // Get initial headers - d.Headers, err = d.getHeaders() + d.Headers, err = d.getHeaders(ctx) if err != nil { return err } @@ -59,7 +59,7 @@ func (d *OnedriveSharelink) Drop(ctx context.Context) error { func (d *OnedriveSharelink) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) { path := dir.GetPath() - files, err := d.getFiles(path) + files, err := d.getFiles(ctx, path) if err != nil { return nil, err } @@ -82,7 +82,7 @@ func (d *OnedriveSharelink) Link(ctx context.Context, file model.Obj, args model if d.HeaderTime < time.Now().Unix()-1800 { var err error log.Debug("headers are older than 30 minutes, get new headers") - header, err = d.getHeaders() + header, err = d.getHeaders(ctx) if err != nil { return nil, err } diff --git a/drivers/onedrive_sharelink/util.go b/drivers/onedrive_sharelink/util.go index 94d8bd16..d4cd4229 100644 --- a/drivers/onedrive_sharelink/util.go +++ b/drivers/onedrive_sharelink/util.go @@ -1,6 +1,7 @@ package onedrive_sharelink import ( + "context" "crypto/tls" "encoding/json" "fmt" @@ -131,7 +132,7 @@ func getAttrValue(n *html.Node, key string) string { } // getHeaders constructs and returns the necessary HTTP headers for accessing the OneDrive share link -func (d *OnedriveSharelink) getHeaders() (http.Header, error) { +func (d *OnedriveSharelink) getHeaders(ctx context.Context) (http.Header, error) { header := http.Header{} header.Set("User-Agent", base.UserAgent) header.Set("accept-language", "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6") @@ -142,7 +143,7 @@ func (d *OnedriveSharelink) getHeaders() (http.Header, error) { if d.ShareLinkPassword == "" { // Create a no-redirect client clientNoDirect := NewNoRedirectCLient() - req, err := http.NewRequest("GET", d.ShareLinkURL, nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, d.ShareLinkURL, nil) if err != nil { return nil, err } @@ -180,9 +181,9 @@ func (d *OnedriveSharelink) getHeaders() (http.Header, error) { } // getFiles retrieves the files from the OneDrive share link at the specified path -func (d *OnedriveSharelink) getFiles(path string) ([]Item, error) { +func (d *OnedriveSharelink) getFiles(ctx context.Context, path string) ([]Item, error) { clientNoDirect := NewNoRedirectCLient() - req, err := http.NewRequest("GET", d.ShareLinkURL, nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, d.ShareLinkURL, nil) if err != nil { return nil, err } @@ -221,11 +222,11 @@ func (d *OnedriveSharelink) getFiles(path string) ([]Item, error) { // Get redirectUrl answer, err := clientNoDirect.Do(req) if err != nil { - d.Headers, err = d.getHeaders() + d.Headers, err = d.getHeaders(ctx) if err != nil { return nil, err } - return d.getFiles(path) + return d.getFiles(ctx, path) } defer answer.Body.Close() re := regexp.MustCompile(`templateUrl":"(.*?)"`) @@ -298,11 +299,11 @@ func (d *OnedriveSharelink) getFiles(path string) ([]Item, error) { resp, err := client.Do(req) if err != nil { - d.Headers, err = d.getHeaders() + d.Headers, err = d.getHeaders(ctx) if err != nil { return nil, err } - return d.getFiles(path) + return d.getFiles(ctx, path) } defer resp.Body.Close() var graphqlReq GraphQLRequest @@ -328,11 +329,11 @@ func (d *OnedriveSharelink) getFiles(path string) ([]Item, error) { resp, err := client.Do(req) if err != nil { - d.Headers, err = d.getHeaders() + d.Headers, err = d.getHeaders(ctx) if err != nil { return nil, err } - return d.getFiles(path) + return d.getFiles(ctx, path) } defer resp.Body.Close() json.NewDecoder(resp.Body).Decode(&graphqlReqNEW) @@ -343,11 +344,11 @@ func (d *OnedriveSharelink) getFiles(path string) ([]Item, error) { req.Header = tempHeader resp, err := client.Do(req) if err != nil { - d.Headers, err = d.getHeaders() + d.Headers, err = d.getHeaders(ctx) if err != nil { return nil, err } - return d.getFiles(path) + return d.getFiles(ctx, path) } defer resp.Body.Close() json.NewDecoder(resp.Body).Decode(&graphqlReqNEW) diff --git a/drivers/quark_uc_tv/driver.go b/drivers/quark_uc_tv/driver.go index 83f2b50d..9cd22ae0 100644 --- a/drivers/quark_uc_tv/driver.go +++ b/drivers/quark_uc_tv/driver.go @@ -3,6 +3,7 @@ package quark_uc_tv import ( "context" "fmt" + "net/http" "strconv" "time" @@ -96,7 +97,7 @@ func (d *QuarkUCTV) List(ctx context.Context, dir model.Obj, args model.ListArgs pageSize := int64(100) for { var filesData FilesData - _, err := d.request(ctx, "/file", "GET", func(req *resty.Request) { + _, err := d.request(ctx, "/file", http.MethodGet, func(req *resty.Request) { req.SetQueryParams(map[string]string{ "method": "list", "parent_fid": dir.GetID(), @@ -127,7 +128,7 @@ func (d *QuarkUCTV) List(ctx context.Context, dir model.Obj, args model.ListArgs func (d *QuarkUCTV) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) { var fileLink FileLink - _, err := d.request(ctx, "/file", "GET", func(req *resty.Request) { + _, err := d.request(ctx, "/file", http.MethodGet, func(req *resty.Request) { req.SetQueryParams(map[string]string{ "method": "download", "group_by": "source", diff --git a/drivers/quark_uc_tv/util.go b/drivers/quark_uc_tv/util.go index 8bdf605b..b9be1bf4 100644 --- a/drivers/quark_uc_tv/util.go +++ b/drivers/quark_uc_tv/util.go @@ -93,7 +93,7 @@ func (d *QuarkUCTV) getLoginCode(ctx context.Context) (string, error) { QrData string `json:"qr_data"` QueryToken string `json:"query_token"` } - _, err := d.request(ctx, pathname, "GET", func(req *resty.Request) { + _, err := d.request(ctx, pathname, http.MethodGet, func(req *resty.Request) { req.SetQueryParams(map[string]string{ "auth_type": "code", "client_id": d.conf.clientID, @@ -121,7 +121,7 @@ func (d *QuarkUCTV) getCode(ctx context.Context) (string, error) { CommonRsp Code string `json:"code"` } - _, err := d.request(ctx, pathname, "GET", func(req *resty.Request) { + _, err := d.request(ctx, pathname, http.MethodGet, func(req *resty.Request) { req.SetQueryParams(map[string]string{ "client_id": d.conf.clientID, "scope": "netdisk", diff --git a/internal/net/request.go b/internal/net/request.go index 878ce1ee..1da03b29 100644 --- a/internal/net/request.go +++ b/internal/net/request.go @@ -557,7 +557,7 @@ type chunk struct { func DefaultHttpRequestFunc(ctx context.Context, params *HttpRequestParams) (*http.Response, error) { header := http_range.ApplyRangeToHttpHeader(params.Range, params.HeaderRef) - res, err := RequestHttp(ctx, "GET", header, params.URL) + res, err := RequestHttp(ctx, http.MethodGet, header, params.URL) if err != nil { return res, err } diff --git a/internal/stream/util.go b/internal/stream/util.go index f3f80595..42ab9d33 100644 --- a/internal/stream/util.go +++ b/internal/stream/util.go @@ -67,7 +67,7 @@ func RequestRangedHttp(ctx context.Context, link *model.Link, offset, length int header := net.ProcessHeader(nil, link.Header) header = http_range.ApplyRangeToHttpHeader(http_range.Range{Start: offset, Length: length}, header) - return net.RequestHttp(ctx, "GET", header, link.URL) + return net.RequestHttp(ctx, http.MethodGet, header, link.URL) } // 139 cloud does not properly return 206 http status code, add a hack here diff --git a/pkg/gowebdav/client.go b/pkg/gowebdav/client.go index e23a5a25..7251e084 100644 --- a/pkg/gowebdav/client.go +++ b/pkg/gowebdav/client.go @@ -383,7 +383,7 @@ func (c *Client) Link(path string) (string, http.Header, error) { // ReadStream reads the stream for a given path func (c *Client) ReadStream(path string, callback func(rq *http.Request)) (io.ReadCloser, http.Header, error) { - rs, err := c.req("GET", path, nil, callback) + rs, err := c.req(http.MethodGet, path, nil, callback) if err != nil { return nil, nil, newPathErrorErr("ReadStream", path, err) } @@ -405,7 +405,7 @@ func (c *Client) ReadStream(path string, callback func(rq *http.Request)) (io.Re // this function will emulate the behavior by skipping `offset` bytes and limiting the result // to `length`. func (c *Client) ReadStreamRange(path string, offset, length int64) (io.ReadCloser, error) { - rs, err := c.req("GET", path, nil, func(r *http.Request) { + rs, err := c.req(http.MethodGet, path, nil, func(r *http.Request) { r.Header.Add("Range", fmt.Sprintf("bytes=%v-%v", offset, offset+length-1)) }) if err != nil {