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
 | 
						|
}
 |