mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-20 23:36:10 +01:00
🎨 S3/WebDAV 数据同步支持设置超时时间 Fix https://github.com/siyuan-note/siyuan/issues/6781
This commit is contained in:
parent
4629e15f57
commit
faa2d2d655
9 changed files with 72 additions and 7 deletions
|
|
@ -246,10 +246,12 @@ func InitConf() {
|
|||
Conf.Sync.S3 = &conf.S3{}
|
||||
}
|
||||
Conf.Sync.S3.Endpoint = util.NormalizeEndpoint(Conf.Sync.S3.Endpoint)
|
||||
Conf.Sync.S3.Timeout = util.NormalizeTimeout(Conf.Sync.S3.Timeout)
|
||||
if nil == Conf.Sync.WebDAV {
|
||||
Conf.Sync.WebDAV = &conf.WebDAV{}
|
||||
}
|
||||
Conf.Sync.WebDAV.Endpoint = util.NormalizeEndpoint(Conf.Sync.WebDAV.Endpoint)
|
||||
Conf.Sync.WebDAV.Timeout = util.NormalizeTimeout(Conf.Sync.WebDAV.Timeout)
|
||||
|
||||
if nil == Conf.Api {
|
||||
Conf.Api = conf.NewAPI()
|
||||
|
|
|
|||
|
|
@ -824,7 +824,7 @@ func newRepository() (ret *dejavu.Repo, err error) {
|
|||
cloudRepo = cloud.NewSiYuan(&cloud.BaseCloud{Conf: cloudConf})
|
||||
case conf.ProviderS3:
|
||||
s3HTTPClient := &http.Client{Transport: util.NewTransport(cloudConf.S3.SkipTlsVerify)}
|
||||
s3HTTPClient.Timeout = 30 * time.Second
|
||||
s3HTTPClient.Timeout = time.Duration(cloudConf.S3.Timeout) * time.Second
|
||||
cloudRepo = cloud.NewS3(&cloud.BaseCloud{Conf: cloudConf}, s3HTTPClient)
|
||||
case conf.ProviderWebDAV:
|
||||
webdavClient := gowebdav.NewClient(cloudConf.WebDAV.Endpoint, cloudConf.WebDAV.Username, cloudConf.WebDAV.Password)
|
||||
|
|
@ -832,7 +832,7 @@ func newRepository() (ret *dejavu.Repo, err error) {
|
|||
auth := "Basic " + base64.StdEncoding.EncodeToString([]byte(a))
|
||||
webdavClient.SetHeader("Authorization", auth)
|
||||
webdavClient.SetHeader("User-Agent", util.UserAgent)
|
||||
webdavClient.SetTimeout(30 * time.Second)
|
||||
webdavClient.SetTimeout(time.Duration(cloudConf.WebDAV.Timeout) * time.Second)
|
||||
webdavClient.SetTransport(util.NewTransport(cloudConf.WebDAV.SkipTlsVerify))
|
||||
cloudRepo = cloud.NewWebDAV(&cloud.BaseCloud{Conf: cloudConf}, webdavClient)
|
||||
default:
|
||||
|
|
@ -1056,6 +1056,7 @@ func buildCloudConf() (ret *cloud.Conf, err error) {
|
|||
Region: Conf.Sync.S3.Region,
|
||||
PathStyle: Conf.Sync.S3.PathStyle,
|
||||
SkipTlsVerify: Conf.Sync.S3.SkipTlsVerify,
|
||||
Timeout: Conf.Sync.S3.Timeout,
|
||||
}
|
||||
case conf.ProviderWebDAV:
|
||||
ret.WebDAV = &cloud.ConfWebDAV{
|
||||
|
|
@ -1063,6 +1064,7 @@ func buildCloudConf() (ret *cloud.Conf, err error) {
|
|||
Username: Conf.Sync.WebDAV.Username,
|
||||
Password: Conf.Sync.WebDAV.Password,
|
||||
SkipTlsVerify: Conf.Sync.WebDAV.SkipTlsVerify,
|
||||
Timeout: Conf.Sync.WebDAV.Timeout,
|
||||
}
|
||||
default:
|
||||
err = fmt.Errorf("invalid provider [%d]", Conf.Sync.Provider)
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ func SetSyncProviderS3(s3 *conf.S3) (err error) {
|
|||
s3.SecretKey = strings.TrimSpace(s3.SecretKey)
|
||||
s3.Bucket = strings.TrimSpace(s3.Bucket)
|
||||
s3.Region = strings.TrimSpace(s3.Region)
|
||||
s3.Timeout = util.NormalizeTimeout(s3.Timeout)
|
||||
|
||||
Conf.Sync.S3 = s3
|
||||
Conf.Save()
|
||||
|
|
@ -334,6 +335,7 @@ func SetSyncProviderWebDAV(webdav *conf.WebDAV) (err error) {
|
|||
webdav.Endpoint = util.NormalizeEndpoint(webdav.Endpoint)
|
||||
webdav.Username = strings.TrimSpace(webdav.Username)
|
||||
webdav.Password = strings.TrimSpace(webdav.Password)
|
||||
webdav.Timeout = util.NormalizeTimeout(webdav.Timeout)
|
||||
|
||||
Conf.Sync.WebDAV = webdav
|
||||
Conf.Save()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue