pkg/exchange: add response validator

This commit is contained in:
Edwin 2023-11-14 15:26:07 +08:00
parent 868d48b3b1
commit 737f2fc86d

View File

@ -7,6 +7,7 @@ import (
"crypto/sha256"
"encoding/base64"
"encoding/json"
"fmt"
"net/http"
"net/url"
"strconv"
@ -164,3 +165,17 @@ type APIResponse struct {
Message string `json:"msg"`
Data json.RawMessage `json:"data"`
}
func (a APIResponse) Validate() error {
// v1, v2 use the same success code.
// https://www.bitget.com/api-doc/spot/error-code/restapi
// https://bitgetlimited.github.io/apidoc/en/mix/#restapi-error-codes
if a.Code != "00000" {
return a.Error()
}
return nil
}
func (a APIResponse) Error() error {
return fmt.Errorf("code: %s, msg: %s, data: %q", a.Code, a.Message, a.Data)
}