43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
package SafeLine
|
|
|
|
import (
|
|
"SafeLine-Acme/internal/app/logger"
|
|
"SafeLine-Acme/pkg/utils"
|
|
"errors"
|
|
"net/http"
|
|
)
|
|
|
|
func (safeLine *Object) Verify() bool {
|
|
err := safeLine.ServerVerify()
|
|
if err != nil {
|
|
logger.Error.Printf("请求服务端时发生错误: %s%s%s", logger.Red, err.Error(), logger.Reset)
|
|
return false
|
|
}
|
|
|
|
err = safeLine.AuthTokenVerify()
|
|
if err != nil {
|
|
logger.Warning.Printf("%sSafeLine API Token%s 验证失败,请检查后重试", logger.Cyan, logger.Reset)
|
|
return false
|
|
}
|
|
|
|
logger.Success.Printf("%sSafeLine%s 相关配置检验完成!", logger.Cyan, logger.Reset)
|
|
return true
|
|
}
|
|
|
|
func (safeLine *Object) ServerVerify() error {
|
|
_, err := utils.Request("GET", safeLine.Url().String(), nil, nil)
|
|
return err
|
|
}
|
|
|
|
func (safeLine *Object) AuthTokenVerify() error {
|
|
header := http.Header{
|
|
"X-SLCE-API-TOKEN": []string{safeLine.ApiToken},
|
|
}
|
|
|
|
resp, err := utils.Request("GET", safeLine.AuthTokenUrl(), nil, header)
|
|
if err != nil || resp.StatusCode != 200 {
|
|
return errors.New("token 验证失败")
|
|
}
|
|
return nil
|
|
}
|