feat: 签名校验调整

This commit is contained in:
wolter 2024-11-27 15:29:19 +08:00
parent 9c125f5562
commit 40a0220800
1 changed files with 16 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import (
"io"
"net/http"
"rs/cmd/api/internal/config"
"rs/cmd/api/internal/types"
"rs/untils/response"
"rs/untils/sign"
)
@ -20,6 +21,11 @@ func NewSignMiddleware(c *config.Config) *SignMiddleware {
}
}
var signMiddleware = map[string]interface{}{
"/market/order/get": new(types.GetOrderReq),
"/market/key/asyncSend": new(types.AsyncReq),
}
func (m *SignMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var (
@ -33,6 +39,16 @@ func (m *SignMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc {
if err != nil {
response.Err(w, response.HTTP_AUTH_FAIL, "获取请求参数失败")
}
// 特殊处理, 订单查询接口,只获取需要字段校验
if v, ok := signMiddleware[r.RequestURI]; ok {
err = json.Unmarshal(reqData, v)
if err != nil {
response.Err(w, response.HTTP_AUTH_FAIL, "获取请求参数失败")
return
}
reqData, err = json.Marshal(v)
}
err = json.Unmarshal(reqData, &reqDataMap)
if err != nil {
response.Err(w, response.HTTP_AUTH_FAIL, "获取请求参数失败")