Files
Safeline-Acme/internal/class/SafeLine/VerifyMethod.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
}