From d99c9747458037973b7d3cdc17a29c98a5dd482e Mon Sep 17 00:00:00 2001 From: iacore Date: Sat, 5 Oct 2024 15:32:10 +0000 Subject: [PATCH] use http client from utils --- core/appapi.go | 6 ++++-- semgrep.yml | 9 ++++++++- server/utils/http_client.go | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core/appapi.go b/core/appapi.go index d93e6e7..09bd87b 100644 --- a/core/appapi.go +++ b/core/appapi.go @@ -13,6 +13,8 @@ import ( "io" "net/http" "strings" + + "codeberg.org/vnpower/pixivfe/v2/server/utils" ) const USER_AGENT = "PixivAndroidApp/5.0.234 (Android 11; Pixel 5)" @@ -82,7 +84,7 @@ func AppAPIRefresh(r *http.Request, refresh_token string) AppAPICredentials { req.Header.Set("User-Agent", USER_AGENT) req.Header.Add("Content-Type", "application/x-www-form-urlencoded") - resp, err := http.DefaultClient.Do(req) + resp, err := utils.HttpClient.Do(req) if err != nil { panic(err) } @@ -117,7 +119,7 @@ func AppAPILogin(r *http.Request) AppAPICredentials { req.Header.Set("User-Agent", USER_AGENT) req.Header.Add("Content-Type", "application/x-www-form-urlencoded") - resp, err := http.DefaultClient.Do(req) + resp, err := utils.HttpClient.Do(req) if err != nil { panic(err) } diff --git a/semgrep.yml b/semgrep.yml index ac5b7f0..c2bf6fe 100644 --- a/semgrep.yml +++ b/semgrep.yml @@ -180,7 +180,6 @@ rules: fmt.Errorf("$MSG", $...ARGS) fix: | i18n.Errorf("$MSG", $...ARGS) - - id: "14" message: "non-global regexp.MustCompile" languages: [go] @@ -194,3 +193,11 @@ rules: $VAR := regexp.MustCompile($PATT) fix: | var $VAR = regexp.MustCompile($PATT) +- id: "15" + message: "http.DefaultClient" + languages: [go] + severity: ERROR + pattern: | + http.DefaultClient + fix: | + utils.HttpClient diff --git a/server/utils/http_client.go b/server/utils/http_client.go index c44c332..cb8a1ec 100644 --- a/server/utils/http_client.go +++ b/server/utils/http_client.go @@ -7,6 +7,7 @@ import "net/http" var HttpClient = &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyFromEnvironment, + MaxIdleConns: 0, MaxIdleConnsPerHost: 20, }, }