Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2022-11-24 11:04:00 +08:00
commit de529c2edd
3 changed files with 31 additions and 3 deletions

View file

@ -280,6 +280,10 @@ func buildBlockBreadcrumb(node *ast.Node) (ret []*BlockPath) {
if ast.NodeSuperBlock == prev.Type {
// 超级块中包含标题块时下方块面包屑计算不正确 https://github.com/siyuan-note/siyuan/issues/6675
b = treenode.SuperBlockLastHeading(prev)
if nil == b {
// 超级块下方块被作为嵌入块时设置显示面包屑后不渲染 https://github.com/siyuan-note/siyuan/issues/6690
b = prev
}
}
if ast.NodeHeading == b.Type && headingLevel > b.HeadingLevel {

View file

@ -20,7 +20,6 @@ import (
"bytes"
"crypto/rand"
"crypto/sha256"
"crypto/tls"
"encoding/base64"
"errors"
"fmt"
@ -824,7 +823,7 @@ func newRepository() (ret *dejavu.Repo, err error) {
case conf.ProviderSiYuan:
cloudRepo = cloud.NewSiYuan(&cloud.BaseCloud{Conf: cloudConf})
case conf.ProviderS3:
s3HTTPClient := &http.Client{Transport: &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: cloudConf.S3.SkipTlsVerify}}}
s3HTTPClient := &http.Client{Transport: util.NewTransport(cloudConf.S3.SkipTlsVerify)}
s3HTTPClient.Timeout = 30 * time.Second
cloudRepo = cloud.NewS3(&cloud.BaseCloud{Conf: cloudConf}, s3HTTPClient)
case conf.ProviderWebDAV:
@ -834,7 +833,7 @@ func newRepository() (ret *dejavu.Repo, err error) {
webdavClient.SetHeader("Authorization", auth)
webdavClient.SetHeader("User-Agent", util.UserAgent)
webdavClient.SetTimeout(30 * time.Second)
webdavClient.SetTransport(&http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: cloudConf.WebDAV.SkipTlsVerify}})
webdavClient.SetTransport(util.NewTransport(cloudConf.WebDAV.SkipTlsVerify))
cloudRepo = cloud.NewWebDAV(&cloud.BaseCloud{Conf: cloudConf}, webdavClient)
default:
err = fmt.Errorf("unknown cloud provider [%d]", Conf.Sync.Provider)

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
}