mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 15:10:12 +01:00
🎨 Improve network online check of data sync Fix https://github.com/siyuan-note/siyuan/issues/7890
This commit is contained in:
parent
d99e8cad9b
commit
635eb66da9
2 changed files with 13 additions and 6 deletions
|
|
@ -563,18 +563,21 @@ func planSyncAfter(d time.Duration) {
|
||||||
|
|
||||||
func isProviderOnline() (ret bool) {
|
func isProviderOnline() (ret bool) {
|
||||||
checkURL := util.SiYuanSyncServer
|
checkURL := util.SiYuanSyncServer
|
||||||
|
skipTlsVerify := false
|
||||||
switch Conf.Sync.Provider {
|
switch Conf.Sync.Provider {
|
||||||
case conf.ProviderSiYuan:
|
case conf.ProviderSiYuan:
|
||||||
case conf.ProviderS3:
|
case conf.ProviderS3:
|
||||||
checkURL = Conf.Sync.S3.Endpoint
|
checkURL = Conf.Sync.S3.Endpoint
|
||||||
|
skipTlsVerify = Conf.Sync.S3.SkipTlsVerify
|
||||||
case conf.ProviderWebDAV:
|
case conf.ProviderWebDAV:
|
||||||
checkURL = Conf.Sync.WebDAV.Endpoint
|
checkURL = Conf.Sync.WebDAV.Endpoint
|
||||||
|
skipTlsVerify = Conf.Sync.WebDAV.SkipTlsVerify
|
||||||
default:
|
default:
|
||||||
logging.LogWarnf("unknown provider: %d", Conf.Sync.Provider)
|
logging.LogWarnf("unknown provider: %d", Conf.Sync.Provider)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if ret = util.IsOnline(checkURL); !ret {
|
if ret = util.IsOnline(checkURL, skipTlsVerify); !ret {
|
||||||
util.PushErrMsg(Conf.Language(76), 5000)
|
util.PushErrMsg(Conf.Language(76), 5000)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ import (
|
||||||
"github.com/siyuan-note/logging"
|
"github.com/siyuan-note/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
func IsOnline(checkURL string) bool {
|
func IsOnline(checkURL string, skipTlsVerify bool) bool {
|
||||||
_, err := url.Parse(checkURL)
|
_, err := url.Parse(checkURL)
|
||||||
if nil != err {
|
if nil != err {
|
||||||
logging.LogWarnf("invalid check URL [%s]", checkURL)
|
logging.LogWarnf("invalid check URL [%s]", checkURL)
|
||||||
|
|
@ -42,7 +42,7 @@ func IsOnline(checkURL string) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if isOnline(checkURL) {
|
if isOnline(checkURL, skipTlsVerify) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,10 +50,14 @@ func IsOnline(checkURL string) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func isOnline(checkURL string) (ret bool) {
|
func isOnline(checkURL string, skipTlsVerify bool) (ret bool) {
|
||||||
|
c := req.C().SetTimeout(3 * time.Second)
|
||||||
|
if skipTlsVerify {
|
||||||
|
c.EnableInsecureSkipVerify()
|
||||||
|
}
|
||||||
|
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
c := req.C().SetTimeout(3 * time.Second)
|
_, err := c.R().Get(checkURL)
|
||||||
_, err := c.R().Head(checkURL)
|
|
||||||
ret = nil == err
|
ret = nil == err
|
||||||
if ret {
|
if ret {
|
||||||
break
|
break
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue