Path: blob/master/bitget-golang-sdk-api/internal/utils.go
732 views
package internal12import (3"bitget/constants"4"encoding/json"5"errors"6"net/http"7"sort"8"strconv"9"strings"10"time"11)1213func TimesStamp() string {14timesStamp := time.Now().Unix() * 100015return strconv.FormatInt(timesStamp, 10)16}1718func TimesStampSec() string {19timesStamp := time.Now().Unix()20return strconv.FormatInt(timesStamp, 10)21}2223/**24* get header25*/26func Headers(request *http.Request, apikey string, timestamp string, sign string, passphrase string) {27request.Header.Add(constants.ContentType, constants.ApplicationJson)28request.Header.Add(constants.BgAccessKey, apikey)29request.Header.Add(constants.BgAccessSign, sign)30request.Header.Add(constants.BgAccessTimestamp, timestamp)31request.Header.Add(constants.BgAccessPassphrase, passphrase)32}3334func BuildJsonParams(params map[string]string) (string, error) {35if params == nil {36return "", errors.New("illegal parameter")37}38data, err := json.Marshal(params)39if err != nil {40return "", errors.New("json convert string error")41}42jsonBody := string(data)43return jsonBody, nil44}4546func BuildGetParams(params map[string]string) string {47//urlParams := url.Values{}48//if params != nil && len(params) > 0 {49// for k := range params {50// urlParams.Add(k, params[k])51// }52//}53//return "?" + urlParams.Encode()54if len(params) == 0 {55return ""56}57return "?" + SortParams(params)58}5960func SortParams(params map[string]string) string {61keys := make([]string, len(params))62i := 063for k, _ := range params {64keys[i] = k65i++66}67sort.Strings(keys)68sorted := make([]string, len(params))69i = 070for _, k := range keys {71//sorted[i] = k + "=" + url.QueryEscape(params[k])72sorted[i] = k + "=" + params[k]73i++74}75return strings.Join(sorted, "&")76}7778func JSONToMap(str string) map[string]interface{} {7980var tempMap map[string]interface{}8182err := json.Unmarshal([]byte(str), &tempMap)8384if err != nil {85panic(err)86}8788return tempMap89}9091func NewParams() map[string]string {92return make(map[string]string)93}9495func ToJson(v interface{}) (string, error) {96result, err := json.Marshal(v)97if err != nil {98return "", err99}100return string(result), nil101}102103104