Spaces:
Running
Running
package helper | |
import ( | |
"adams549659584/go-proxy-bingai/common" | |
"encoding/json" | |
"net/http" | |
) | |
type Response struct { | |
Code int `json:"code"` | |
Message string `json:"message"` | |
Data interface{} `json:"data"` | |
} | |
func CommonResult(w http.ResponseWriter, code int, msg string, data interface{}) error { | |
res := Response{ | |
Code: code, | |
Message: msg, | |
Data: data, | |
} | |
w.Header().Set("Content-Type", "application/json") | |
w.WriteHeader(code) | |
err := json.NewEncoder(w).Encode(res) | |
if err != nil { | |
return err | |
} | |
return nil | |
} | |
func SuccessResult(w http.ResponseWriter, data interface{}) error { | |
return CommonResult(w, http.StatusOK, "success", data) | |
} | |
func ErrorResult(w http.ResponseWriter, code int, msg string) error { | |
return CommonResult(w, code, msg, nil) | |
} | |
func UnauthorizedResult(w http.ResponseWriter) error { | |
return ErrorResult(w, http.StatusUnauthorized, "unauthorized") | |
} | |
func CheckAuth(r *http.Request) bool { | |
isAuth := true | |
if len(common.AUTH_KEYS) > 0 { | |
if common.AUTH_KEYS[0] != "" { | |
ckAuthKey, _ := r.Cookie(common.AUTH_KEY_COOKIE_NAME) | |
isAuth = ckAuthKey != nil && len(ckAuthKey.Value) > 0 && common.IsInArray(common.AUTH_KEYS, ckAuthKey.Value) | |
} | |
} | |
return isAuth | |
} | |