Path: blob/master/bitget-golang-sdk-api/internal/common/bitgetrestclient.go
735 views
package common12import (3"bitget/config"4"bitget/constants"5"bitget/internal"6"io/ioutil"7"net/http"8"strings"9"time"10)1112type BitgetRestClient struct {13ApiKey string14ApiSecretKey string15Passphrase string16BaseUrl string17HttpClient http.Client18Signer *Signer19}2021func (p *BitgetRestClient) Init() *BitgetRestClient {22p.ApiKey = config.ApiKey23p.ApiSecretKey = config.SecretKey24p.BaseUrl = config.BaseUrl25p.Passphrase = config.PASSPHRASE26p.Signer = new(Signer).Init(config.SecretKey)27p.HttpClient = http.Client{28Timeout: time.Duration(config.TimeoutSecond) * time.Second,29}30return p31}3233func (p *BitgetRestClient) DoPost(uri string, params string) (string, error) {34timesStamp := internal.TimesStamp()35//body, _ := internal.BuildJsonParams(params)3637sign := p.Signer.Sign(constants.POST, uri, params, timesStamp)38if constants.RSA == config.SignType {39sign = p.Signer.SignByRSA(constants.POST, uri, params, timesStamp)40}41requestUrl := config.BaseUrl + uri4243buffer := strings.NewReader(params)44request, err := http.NewRequest(constants.POST, requestUrl, buffer)4546internal.Headers(request, p.ApiKey, timesStamp, sign, p.Passphrase)47if err != nil {48return "", err49}50response, err := p.HttpClient.Do(request)5152if err != nil {53return "", err54}5556defer response.Body.Close()5758bodyStr, err := ioutil.ReadAll(response.Body)59if err != nil {60return "", err61}6263responseBodyString := string(bodyStr)64return responseBodyString, err65}6667func (p *BitgetRestClient) DoGet(uri string, params map[string]string) (string, error) {68timesStamp := internal.TimesStamp()69body := internal.BuildGetParams(params)70//fmt.Println(body)7172sign := p.Signer.Sign(constants.GET, uri, body, timesStamp)7374requestUrl := p.BaseUrl + uri + body7576request, err := http.NewRequest(constants.GET, requestUrl, nil)77if err != nil {78return "", err79}80internal.Headers(request, p.ApiKey, timesStamp, sign, p.Passphrase)8182response, err := p.HttpClient.Do(request)8384if err != nil {85return "", err86}8788defer response.Body.Close()8990bodyStr, err := ioutil.ReadAll(response.Body)91if err != nil {92return "", err93}9495responseBodyString := string(bodyStr)96return responseBodyString, err97}9899100