🐛 S3/WebDAV 数据同步无法使用代理 Fix https://github.com/siyuan-note/siyuan/issues/6695

This commit is contained in:
Liang Ding 2022-11-24 11:00:58 +08:00
parent 255a9c1e01
commit f38e053702
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 27 additions and 3 deletions

View file

@ -17,7 +17,12 @@
package util
import (
"context"
"crypto/tls"
"net"
"net/http"
"strings"
"time"
"github.com/88250/gulu"
"github.com/gin-gonic/gin"
@ -48,3 +53,23 @@ func JsonArg(c *gin.Context, result *gulu.Result) (arg map[string]interface{}, o
ok = true
return
}
func NewTransport(skipTlsVerify bool) *http.Transport {
return &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: defaultTransportDialContext(&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}),
ForceAttemptHTTP2: true,
MaxIdleConns: 100,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
TLSClientConfig: &tls.Config{InsecureSkipVerify: skipTlsVerify}}
}
func defaultTransportDialContext(dialer *net.Dialer) func(context.Context, string, string) (net.Conn, error) {
return dialer.DialContext
}