// Package market provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/deepmap/oapi-codegen version v1.9.0 DO NOT EDIT.
package market
import (
"bytes"
"compress/gzip"
"context"
"encoding/base64"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"net/url"
"path"
"strings"
"github.com/deepmap/oapi-codegen/pkg/runtime"
"github.com/getkin/kin-openapi/openapi3"
)
// GetApiV5MarketBooksParams defines parameters for GetApiV5MarketBooks.
type GetApiV5MarketBooksParams struct {
// 产品ID,如:`BTC-USDT`
InstId string `json:"instId"`
// 深度档位数量
最大值可传400,即买卖深度共800条
不填写此参数,默认返回1档深度数据
Sz *string `json:"sz,omitempty"`
}
// GetApiV5MarketCandlesParams defines parameters for GetApiV5MarketCandles.
type GetApiV5MarketCandlesParams struct {
// 产品ID,如:`BTC-USDT`
InstId string `json:"instId"`
// 时间粒度,默认值`1m`
如 [1m/3m/5m/15m/30m/1H/2H/4H/6H/12H/1D/1W/1M/3M/6M/1Y]
Bar *string `json:"bar,omitempty"`
// 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的`ts`
After *string `json:"after,omitempty"`
// 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的`ts`
Before *string `json:"before,omitempty"`
// 分页返回的结果集数量,最大为100,不填默认返回100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5MarketHistoryCandlesParams defines parameters for GetApiV5MarketHistoryCandles.
type GetApiV5MarketHistoryCandlesParams struct {
// 产品ID,如:`BTC-USDT`
InstId string `json:"instId"`
// 时间粒度,默认值`1m`
如 [1m/3m/5m/15m/30m/1H/2H/4H/6H/12H/1D/1W/1M/3M/6M/1Y]
Bar *string `json:"bar,omitempty"`
// 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的`ts`
After *string `json:"after,omitempty"`
// 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的`ts`
Before *string `json:"before,omitempty"`
// 分页返回的结果集数量,最大为100,不填默认返回100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5MarketIndexCandlesParams defines parameters for GetApiV5MarketIndexCandles.
type GetApiV5MarketIndexCandlesParams struct {
// 现货指数,如:`BTC-USD`
InstId string `json:"instId"`
// 时间粒度,默认值`1m`
如 [1m/3m/5m/15m/30m/1H/2H/4H/6H/12H/1D/1W/1M/3M/6M/1Y]
Bar *string `json:"bar,omitempty"`
// 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的`ts`
After *string `json:"after,omitempty"`
// 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的`ts`
Before *string `json:"before,omitempty"`
// 分页返回的结果集数量,最大为100,不填默认返回100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5MarketIndexComponentsParams defines parameters for GetApiV5MarketIndexComponents.
type GetApiV5MarketIndexComponentsParams struct {
// 指数,如:`BTC-USDT`
Index string `json:"index"`
}
// GetApiV5MarketIndexTickersParams defines parameters for GetApiV5MarketIndexTickers.
type GetApiV5MarketIndexTickersParams struct {
// 指数,如:`BTC-USD`
`instId`和`quoteCcy`必须填写一个
InstId *string `json:"instId,omitempty"`
// 指数计价单位
目前只有`USD`/`USDT`/`BTC`为计价单位的指数
QuoteCcy *string `json:"quoteCcy,omitempty"`
}
// GetApiV5MarketMarkPriceCandlesParams defines parameters for GetApiV5MarketMarkPriceCandles.
type GetApiV5MarketMarkPriceCandlesParams struct {
// 现货指数,如:`BTC-USD-SWAP`
InstId string `json:"instId"`
// 时间粒度,默认值`1m`
如 [1m/3m/5m/15m/30m/1H/2H/4H/6H/12H/1D/1W/1M/3M/6M/1Y]
Bar *string `json:"bar,omitempty"`
// 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的`ts`
After *string `json:"after,omitempty"`
// 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的`ts`
Before *string `json:"before,omitempty"`
// 分页返回的结果集数量,最大为100,不填默认返回100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5MarketTickerParams defines parameters for GetApiV5MarketTicker.
type GetApiV5MarketTickerParams struct {
// 产品ID,如:`BTC-USD-SWAP`
InstId string `json:"instId"`
}
// GetApiV5MarketTickersParams defines parameters for GetApiV5MarketTickers.
type GetApiV5MarketTickersParams struct {
// 产品类型
`SPOT`:币币
`SWAP`:永续合约
`FUTURES`:交割合约
`OPTION`:期权
InstType string `json:"instType"`
// 合约标的指数
仅适用于`交割/永续/期权`,如 `BTC-USD`
Uly *string `json:"uly,omitempty"`
}
// GetApiV5MarketTradesParams defines parameters for GetApiV5MarketTrades.
type GetApiV5MarketTradesParams struct {
// 产品ID,如:`BTC-USDT`
InstId string `json:"instId"`
// 分页返回的结果集数量,最大为500,不填默认返回100条
Limit *string `json:"limit,omitempty"`
}
// RequestEditorFn is the function signature for the RequestEditor callback function
type RequestEditorFn func(ctx context.Context, req *http.Request) error
// Doer performs HTTP requests.
//
// The standard http.Client implements this interface.
type HttpRequestDoer interface {
Do(req *http.Request) (*http.Response, error)
}
// Client which conforms to the OpenAPI3 specification for this service.
type Client struct {
// The endpoint of the server conforming to this interface, with scheme,
// https://api.deepmap.com for example. This can contain a path relative
// to the server, such as https://api.deepmap.com/dev-test, and all the
// paths in the swagger spec will be appended to the server.
Server string
// Doer for performing requests, typically a *http.Client with any
// customized settings, such as certificate chains.
Client HttpRequestDoer
// A list of callbacks for modifying requests which are generated before sending over
// the network.
RequestEditors []RequestEditorFn
}
// ClientOption allows setting custom parameters during construction
type ClientOption func(*Client) error
// Creates a new Client, with reasonable defaults
func NewClient(server string, opts ...ClientOption) (*Client, error) {
// create a client with sane default values
client := Client{
Server: server,
}
// mutate client and add all optional params
for _, o := range opts {
if err := o(&client); err != nil {
return nil, err
}
}
// ensure the server URL always has a trailing slash
if !strings.HasSuffix(client.Server, "/") {
client.Server += "/"
}
// create httpClient, if not already present
if client.Client == nil {
client.Client = &http.Client{}
}
return &client, nil
}
// WithHTTPClient allows overriding the default Doer, which is
// automatically created using http.Client. This is useful for tests.
func WithHTTPClient(doer HttpRequestDoer) ClientOption {
return func(c *Client) error {
c.Client = doer
return nil
}
}
// WithRequestEditorFn allows setting up a callback function, which will be
// called right before sending the request. This can be used to mutate the request.
func WithRequestEditorFn(fn RequestEditorFn) ClientOption {
return func(c *Client) error {
c.RequestEditors = append(c.RequestEditors, fn)
return nil
}
}
// The interface specification for the client above.
type ClientInterface interface {
// GetApiV5MarketBooks request
GetApiV5MarketBooks(ctx context.Context, params *GetApiV5MarketBooksParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketCandles request
GetApiV5MarketCandles(ctx context.Context, params *GetApiV5MarketCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketHistoryCandles request
GetApiV5MarketHistoryCandles(ctx context.Context, params *GetApiV5MarketHistoryCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketIndexCandles request
GetApiV5MarketIndexCandles(ctx context.Context, params *GetApiV5MarketIndexCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketIndexComponents request
GetApiV5MarketIndexComponents(ctx context.Context, params *GetApiV5MarketIndexComponentsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketIndexTickers request
GetApiV5MarketIndexTickers(ctx context.Context, params *GetApiV5MarketIndexTickersParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketMarkPriceCandles request
GetApiV5MarketMarkPriceCandles(ctx context.Context, params *GetApiV5MarketMarkPriceCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketOpenOracle request
GetApiV5MarketOpenOracle(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketPlatform24Volume request
GetApiV5MarketPlatform24Volume(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketTicker request
GetApiV5MarketTicker(ctx context.Context, params *GetApiV5MarketTickerParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketTickers request
GetApiV5MarketTickers(ctx context.Context, params *GetApiV5MarketTickersParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5MarketTrades request
GetApiV5MarketTrades(ctx context.Context, params *GetApiV5MarketTradesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
}
func (c *Client) GetApiV5MarketBooks(ctx context.Context, params *GetApiV5MarketBooksParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketBooksRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketCandles(ctx context.Context, params *GetApiV5MarketCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketCandlesRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketHistoryCandles(ctx context.Context, params *GetApiV5MarketHistoryCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketHistoryCandlesRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketIndexCandles(ctx context.Context, params *GetApiV5MarketIndexCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketIndexCandlesRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketIndexComponents(ctx context.Context, params *GetApiV5MarketIndexComponentsParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketIndexComponentsRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketIndexTickers(ctx context.Context, params *GetApiV5MarketIndexTickersParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketIndexTickersRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketMarkPriceCandles(ctx context.Context, params *GetApiV5MarketMarkPriceCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketMarkPriceCandlesRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketOpenOracle(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketOpenOracleRequest(c.Server)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketPlatform24Volume(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketPlatform24VolumeRequest(c.Server)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketTicker(ctx context.Context, params *GetApiV5MarketTickerParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketTickerRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketTickers(ctx context.Context, params *GetApiV5MarketTickersParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketTickersRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetApiV5MarketTrades(ctx context.Context, params *GetApiV5MarketTradesParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5MarketTradesRequest(c.Server, params)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
// NewGetApiV5MarketBooksRequest generates requests for GetApiV5MarketBooks
func NewGetApiV5MarketBooksRequest(server string, params *GetApiV5MarketBooksParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/books")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Sz != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "sz", runtime.ParamLocationQuery, *params.Sz); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketCandlesRequest generates requests for GetApiV5MarketCandles
func NewGetApiV5MarketCandlesRequest(server string, params *GetApiV5MarketCandlesParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/candles")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Bar != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "bar", runtime.ParamLocationQuery, *params.Bar); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.After != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "after", runtime.ParamLocationQuery, *params.After); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Before != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "before", runtime.ParamLocationQuery, *params.Before); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Limit != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketHistoryCandlesRequest generates requests for GetApiV5MarketHistoryCandles
func NewGetApiV5MarketHistoryCandlesRequest(server string, params *GetApiV5MarketHistoryCandlesParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/history-candles")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Bar != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "bar", runtime.ParamLocationQuery, *params.Bar); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.After != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "after", runtime.ParamLocationQuery, *params.After); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Before != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "before", runtime.ParamLocationQuery, *params.Before); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Limit != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketIndexCandlesRequest generates requests for GetApiV5MarketIndexCandles
func NewGetApiV5MarketIndexCandlesRequest(server string, params *GetApiV5MarketIndexCandlesParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/index-candles")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Bar != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "bar", runtime.ParamLocationQuery, *params.Bar); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.After != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "after", runtime.ParamLocationQuery, *params.After); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Before != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "before", runtime.ParamLocationQuery, *params.Before); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Limit != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketIndexComponentsRequest generates requests for GetApiV5MarketIndexComponents
func NewGetApiV5MarketIndexComponentsRequest(server string, params *GetApiV5MarketIndexComponentsParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/index-components")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "index", runtime.ParamLocationQuery, params.Index); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketIndexTickersRequest generates requests for GetApiV5MarketIndexTickers
func NewGetApiV5MarketIndexTickersRequest(server string, params *GetApiV5MarketIndexTickersParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/index-tickers")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.InstId != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, *params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.QuoteCcy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "quoteCcy", runtime.ParamLocationQuery, *params.QuoteCcy); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketMarkPriceCandlesRequest generates requests for GetApiV5MarketMarkPriceCandles
func NewGetApiV5MarketMarkPriceCandlesRequest(server string, params *GetApiV5MarketMarkPriceCandlesParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/mark-price-candles")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Bar != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "bar", runtime.ParamLocationQuery, *params.Bar); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.After != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "after", runtime.ParamLocationQuery, *params.After); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Before != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "before", runtime.ParamLocationQuery, *params.Before); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
if params.Limit != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketOpenOracleRequest generates requests for GetApiV5MarketOpenOracle
func NewGetApiV5MarketOpenOracleRequest(server string) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/open-oracle")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketPlatform24VolumeRequest generates requests for GetApiV5MarketPlatform24Volume
func NewGetApiV5MarketPlatform24VolumeRequest(server string) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/platform-24-volume")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketTickerRequest generates requests for GetApiV5MarketTicker
func NewGetApiV5MarketTickerRequest(server string, params *GetApiV5MarketTickerParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/ticker")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketTickersRequest generates requests for GetApiV5MarketTickers
func NewGetApiV5MarketTickersRequest(server string, params *GetApiV5MarketTickersParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/tickers")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instType", runtime.ParamLocationQuery, params.InstType); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Uly != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "uly", runtime.ParamLocationQuery, *params.Uly); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5MarketTradesRequest generates requests for GetApiV5MarketTrades
func NewGetApiV5MarketTradesRequest(server string, params *GetApiV5MarketTradesParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/market/trades")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "instId", runtime.ParamLocationQuery, params.InstId); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
if params.Limit != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil {
return nil, err
} else if parsed, err := url.ParseQuery(queryFrag); err != nil {
return nil, err
} else {
for k, v := range parsed {
for _, v2 := range v {
queryValues.Add(k, v2)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error {
for _, r := range c.RequestEditors {
if err := r(ctx, req); err != nil {
return err
}
}
for _, r := range additionalEditors {
if err := r(ctx, req); err != nil {
return err
}
}
return nil
}
// ClientWithResponses builds on ClientInterface to offer response payloads
type ClientWithResponses struct {
ClientInterface
}
// NewClientWithResponses creates a new ClientWithResponses, which wraps
// Client with return type handling
func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) {
client, err := NewClient(server, opts...)
if err != nil {
return nil, err
}
return &ClientWithResponses{client}, nil
}
// WithBaseURL overrides the baseURL.
func WithBaseURL(baseURL string) ClientOption {
return func(c *Client) error {
newBaseURL, err := url.Parse(baseURL)
if err != nil {
return err
}
c.Server = newBaseURL.String()
return nil
}
}
// ClientWithResponsesInterface is the interface specification for the client with responses above.
type ClientWithResponsesInterface interface {
// GetApiV5MarketBooks request
GetApiV5MarketBooksWithResponse(ctx context.Context, params *GetApiV5MarketBooksParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketBooksResponse, error)
// GetApiV5MarketCandles request
GetApiV5MarketCandlesWithResponse(ctx context.Context, params *GetApiV5MarketCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketCandlesResponse, error)
// GetApiV5MarketHistoryCandles request
GetApiV5MarketHistoryCandlesWithResponse(ctx context.Context, params *GetApiV5MarketHistoryCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketHistoryCandlesResponse, error)
// GetApiV5MarketIndexCandles request
GetApiV5MarketIndexCandlesWithResponse(ctx context.Context, params *GetApiV5MarketIndexCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketIndexCandlesResponse, error)
// GetApiV5MarketIndexComponents request
GetApiV5MarketIndexComponentsWithResponse(ctx context.Context, params *GetApiV5MarketIndexComponentsParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketIndexComponentsResponse, error)
// GetApiV5MarketIndexTickers request
GetApiV5MarketIndexTickersWithResponse(ctx context.Context, params *GetApiV5MarketIndexTickersParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketIndexTickersResponse, error)
// GetApiV5MarketMarkPriceCandles request
GetApiV5MarketMarkPriceCandlesWithResponse(ctx context.Context, params *GetApiV5MarketMarkPriceCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketMarkPriceCandlesResponse, error)
// GetApiV5MarketOpenOracle request
GetApiV5MarketOpenOracleWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetApiV5MarketOpenOracleResponse, error)
// GetApiV5MarketPlatform24Volume request
GetApiV5MarketPlatform24VolumeWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetApiV5MarketPlatform24VolumeResponse, error)
// GetApiV5MarketTicker request
GetApiV5MarketTickerWithResponse(ctx context.Context, params *GetApiV5MarketTickerParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketTickerResponse, error)
// GetApiV5MarketTickers request
GetApiV5MarketTickersWithResponse(ctx context.Context, params *GetApiV5MarketTickersParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketTickersResponse, error)
// GetApiV5MarketTrades request
GetApiV5MarketTradesWithResponse(ctx context.Context, params *GetApiV5MarketTradesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketTradesResponse, error)
}
type GetApiV5MarketBooksResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketBooksResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketBooksResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketCandlesResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketCandlesResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketCandlesResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketHistoryCandlesResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketHistoryCandlesResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketHistoryCandlesResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketIndexCandlesResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketIndexCandlesResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketIndexCandlesResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketIndexComponentsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketIndexComponentsResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketIndexComponentsResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketIndexTickersResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketIndexTickersResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketIndexTickersResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketMarkPriceCandlesResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketMarkPriceCandlesResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketMarkPriceCandlesResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketOpenOracleResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketOpenOracleResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketOpenOracleResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketPlatform24VolumeResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketPlatform24VolumeResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketPlatform24VolumeResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketTickerResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketTickerResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketTickerResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketTickersResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketTickersResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketTickersResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5MarketTradesResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5MarketTradesResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5MarketTradesResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
// GetApiV5MarketBooksWithResponse request returning *GetApiV5MarketBooksResponse
func (c *ClientWithResponses) GetApiV5MarketBooksWithResponse(ctx context.Context, params *GetApiV5MarketBooksParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketBooksResponse, error) {
rsp, err := c.GetApiV5MarketBooks(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketBooksResponse(rsp)
}
// GetApiV5MarketCandlesWithResponse request returning *GetApiV5MarketCandlesResponse
func (c *ClientWithResponses) GetApiV5MarketCandlesWithResponse(ctx context.Context, params *GetApiV5MarketCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketCandlesResponse, error) {
rsp, err := c.GetApiV5MarketCandles(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketCandlesResponse(rsp)
}
// GetApiV5MarketHistoryCandlesWithResponse request returning *GetApiV5MarketHistoryCandlesResponse
func (c *ClientWithResponses) GetApiV5MarketHistoryCandlesWithResponse(ctx context.Context, params *GetApiV5MarketHistoryCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketHistoryCandlesResponse, error) {
rsp, err := c.GetApiV5MarketHistoryCandles(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketHistoryCandlesResponse(rsp)
}
// GetApiV5MarketIndexCandlesWithResponse request returning *GetApiV5MarketIndexCandlesResponse
func (c *ClientWithResponses) GetApiV5MarketIndexCandlesWithResponse(ctx context.Context, params *GetApiV5MarketIndexCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketIndexCandlesResponse, error) {
rsp, err := c.GetApiV5MarketIndexCandles(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketIndexCandlesResponse(rsp)
}
// GetApiV5MarketIndexComponentsWithResponse request returning *GetApiV5MarketIndexComponentsResponse
func (c *ClientWithResponses) GetApiV5MarketIndexComponentsWithResponse(ctx context.Context, params *GetApiV5MarketIndexComponentsParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketIndexComponentsResponse, error) {
rsp, err := c.GetApiV5MarketIndexComponents(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketIndexComponentsResponse(rsp)
}
// GetApiV5MarketIndexTickersWithResponse request returning *GetApiV5MarketIndexTickersResponse
func (c *ClientWithResponses) GetApiV5MarketIndexTickersWithResponse(ctx context.Context, params *GetApiV5MarketIndexTickersParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketIndexTickersResponse, error) {
rsp, err := c.GetApiV5MarketIndexTickers(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketIndexTickersResponse(rsp)
}
// GetApiV5MarketMarkPriceCandlesWithResponse request returning *GetApiV5MarketMarkPriceCandlesResponse
func (c *ClientWithResponses) GetApiV5MarketMarkPriceCandlesWithResponse(ctx context.Context, params *GetApiV5MarketMarkPriceCandlesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketMarkPriceCandlesResponse, error) {
rsp, err := c.GetApiV5MarketMarkPriceCandles(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketMarkPriceCandlesResponse(rsp)
}
// GetApiV5MarketOpenOracleWithResponse request returning *GetApiV5MarketOpenOracleResponse
func (c *ClientWithResponses) GetApiV5MarketOpenOracleWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetApiV5MarketOpenOracleResponse, error) {
rsp, err := c.GetApiV5MarketOpenOracle(ctx, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketOpenOracleResponse(rsp)
}
// GetApiV5MarketPlatform24VolumeWithResponse request returning *GetApiV5MarketPlatform24VolumeResponse
func (c *ClientWithResponses) GetApiV5MarketPlatform24VolumeWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetApiV5MarketPlatform24VolumeResponse, error) {
rsp, err := c.GetApiV5MarketPlatform24Volume(ctx, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketPlatform24VolumeResponse(rsp)
}
// GetApiV5MarketTickerWithResponse request returning *GetApiV5MarketTickerResponse
func (c *ClientWithResponses) GetApiV5MarketTickerWithResponse(ctx context.Context, params *GetApiV5MarketTickerParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketTickerResponse, error) {
rsp, err := c.GetApiV5MarketTicker(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketTickerResponse(rsp)
}
// GetApiV5MarketTickersWithResponse request returning *GetApiV5MarketTickersResponse
func (c *ClientWithResponses) GetApiV5MarketTickersWithResponse(ctx context.Context, params *GetApiV5MarketTickersParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketTickersResponse, error) {
rsp, err := c.GetApiV5MarketTickers(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketTickersResponse(rsp)
}
// GetApiV5MarketTradesWithResponse request returning *GetApiV5MarketTradesResponse
func (c *ClientWithResponses) GetApiV5MarketTradesWithResponse(ctx context.Context, params *GetApiV5MarketTradesParams, reqEditors ...RequestEditorFn) (*GetApiV5MarketTradesResponse, error) {
rsp, err := c.GetApiV5MarketTrades(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5MarketTradesResponse(rsp)
}
// ParseGetApiV5MarketBooksResponse parses an HTTP response from a GetApiV5MarketBooksWithResponse call
func ParseGetApiV5MarketBooksResponse(rsp *http.Response) (*GetApiV5MarketBooksResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketBooksResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketCandlesResponse parses an HTTP response from a GetApiV5MarketCandlesWithResponse call
func ParseGetApiV5MarketCandlesResponse(rsp *http.Response) (*GetApiV5MarketCandlesResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketCandlesResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketHistoryCandlesResponse parses an HTTP response from a GetApiV5MarketHistoryCandlesWithResponse call
func ParseGetApiV5MarketHistoryCandlesResponse(rsp *http.Response) (*GetApiV5MarketHistoryCandlesResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketHistoryCandlesResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketIndexCandlesResponse parses an HTTP response from a GetApiV5MarketIndexCandlesWithResponse call
func ParseGetApiV5MarketIndexCandlesResponse(rsp *http.Response) (*GetApiV5MarketIndexCandlesResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketIndexCandlesResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketIndexComponentsResponse parses an HTTP response from a GetApiV5MarketIndexComponentsWithResponse call
func ParseGetApiV5MarketIndexComponentsResponse(rsp *http.Response) (*GetApiV5MarketIndexComponentsResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketIndexComponentsResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketIndexTickersResponse parses an HTTP response from a GetApiV5MarketIndexTickersWithResponse call
func ParseGetApiV5MarketIndexTickersResponse(rsp *http.Response) (*GetApiV5MarketIndexTickersResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketIndexTickersResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketMarkPriceCandlesResponse parses an HTTP response from a GetApiV5MarketMarkPriceCandlesWithResponse call
func ParseGetApiV5MarketMarkPriceCandlesResponse(rsp *http.Response) (*GetApiV5MarketMarkPriceCandlesResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketMarkPriceCandlesResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketOpenOracleResponse parses an HTTP response from a GetApiV5MarketOpenOracleWithResponse call
func ParseGetApiV5MarketOpenOracleResponse(rsp *http.Response) (*GetApiV5MarketOpenOracleResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketOpenOracleResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketPlatform24VolumeResponse parses an HTTP response from a GetApiV5MarketPlatform24VolumeWithResponse call
func ParseGetApiV5MarketPlatform24VolumeResponse(rsp *http.Response) (*GetApiV5MarketPlatform24VolumeResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketPlatform24VolumeResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketTickerResponse parses an HTTP response from a GetApiV5MarketTickerWithResponse call
func ParseGetApiV5MarketTickerResponse(rsp *http.Response) (*GetApiV5MarketTickerResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketTickerResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketTickersResponse parses an HTTP response from a GetApiV5MarketTickersWithResponse call
func ParseGetApiV5MarketTickersResponse(rsp *http.Response) (*GetApiV5MarketTickersResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketTickersResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5MarketTradesResponse parses an HTTP response from a GetApiV5MarketTradesWithResponse call
func ParseGetApiV5MarketTradesResponse(rsp *http.Response) (*GetApiV5MarketTradesResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5MarketTradesResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest map[string]interface{}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"H4sIAAAAAAAC/+xa+1Pbxvb/V5j9/tYx1uot+bfm8b0wvbkwhbRzhzJjWVqDGttyLJlCGWaAhFcDOM37",
"EvKgoUkm9wbIo42xnfLHVJLxT/wLd3ZXGNuFxuaR3szAD3gknXP2nN3z+ezZI40C3UqmrRRKOTaIjI6F",
"gJmKWyAyCgxk6xkz7ZhWCkTA/7W577fKt55vr7/17y22fZNq+yYLIa/HyA/yF3/2ck+83Au3tLS9/s5/",
"Nek/X/GvPSovrns/XaGiTCAbKGb2u/qsW8toSeSgjP1ZW+XBT/6DLTf/sjy56c0Uo72ZkTbTabOyTtSf",
"n6vcWNspzZdLd7Z/+5EO6eUm/dsb+CaVPz+M9KyDAmEv92NlfIJK/j4++dmXyE5bKRvVDuQ/+rm8fI3K",
"lIs3/YfLv49P1nsIQsAxnQQCEfDl+Z7ets+7O0EIDKGMTSdqSARjIWClUUpLmyAC+DAMsyAE0poziGcY",
"MFraZIZEJqllLiGHiVnWJXJ/ADn4x0qjjIYnvdMAEfA35HyeNr8SLxDhM0QW29qdJBDpa1wpt/DMuznR",
"eW6nNO89ndwpLUXP9J5tv9hzrjcKQgANa8k08X73LsBLDiLgchZlRkAIpLQkfmymbKfTACGQQZezZgYZ",
"IOJksigEbH0QJTXsqjOSxpK2kzFTA2BsLNToiv/ulVd46q88cd8v+Lc3KjO5+rn0l8e91WfeeMnLrbul",
"xwKE2OmFN+7mhrdwh2p7U68UCP0HK/Wqbn7BW/m3N/0v/+Vqdd0rxXvba6vbW7e8+w9Zf+VJMP7tDX9h",
"7YAw7e/Bn4XUj+MP8gQ/5yDEP7qVclCKrJeWTidMnawY862Nwx6tsVedbqxjYNMQhIChORpZOc3Ga9/X",
"BwQWQimsgBCAYQlCXlE5nDRYmAX9/SEQM41aSZ5I8pCVFY5VAkmOSGIcA1biVFWSBF7iVQngMJL2AIgA",
"nJtBjFbsW6Q7YGxsLNS4bLPXvR8e4QUFdjaZ1DIjIAK2F995uTs0uei8YiRoA9grQNOz7RyOqx/rNSS5",
"rqWMBGo2zc8G0p9Qot/9tXL3bfn1Da/wtJqH3ngpyiaj9XnrPZ1s62OTDJ9kxCTDikmGh0mG7WC4Dkbo",
"YKQOhuU6GPYcw37NsBcY/gIjXWDYf/Yf4HxMy4CWPA3I+eUqddmffeNuXvPmFnZKs/79t/7dZ+WlqxQw",
"O6W58tJVb3a6svKLNz3lrW3ulObd0mN8c7zk5gve+qZXuEWZv7x0NerY0QO81OIOOhY/ry8Gft7ZOAk/",
"YyhuZVBrjtKBKeeUl67SXaNyf5ry3U5pnpKcmy+whN4ocdUxFaG3A1xKmEnT+esoqg+woipDTuIVHioi",
"CAE+LBNq4sOywJNfSZbpNcREpAgcJ7CEjjhJVXhBCUNB4RRBZUF/aF97fGBPVcmvoArBONiIoLKcAPFI",
"kizxHC/IYU7gVVXmKN0dD6/5c+P+8pxbWPXv3aS88kW5sFXdOZrluUHTdqzMSHtrfNdBtU5p75T2Tmnv",
"lPY+Iu3VEp63OO3lXu/R3k5p1i1Oufmi/8uEl5/YKc21QIRmykDDLdJgJ9ZpkgTLixvbb5/58zO08K8n",
"wlMePOXBUx485cEWyj9CJIcq+QKmq22iNU92e1of4LsDmK7Vks9Awy0x3UkmV33nsW8U6Kmh7mEQASIn",
"83yYI5HpgyACur44j922R5INz+2RZMxK0MCZIPDvBhw8TJgTIcBwrbWqhhUZkr8942fMlJbSUYP9OskW",
"h+FU0vAL7HdkrZhZbz0QaN17QVY5lVflPevdVsJKmWj4D+7XiH5wnP5QkBp1GZTQbCcwJ4YFlsPgUzmM",
"2aDDxENVEXleFFUV4+84kYgFZqcPiUXH1C8RFDUPxN5A5XAobNjjo7SkiHo35qOXs5aDzuojUW9rqrJS",
"pC1LNz/u5l/sh9wP1Sit1CTE1+21Fbf4zlu47b5fqPeyfH/Nm1vwci/85bkoDoKJEkJhcFRRN1+oVcW7",
"LbF3gIO7Yf6VvdRBc2CQEwZJWuMsNY1hggfafg+msD7Dre92FbCIlUap2mvbMi46Omy4VqrXFAZ1+9nY",
"Me9I2yvz/pWpFhCAf9rTGVNHLRbf+H831juOAry95+vPu/fdmsiT00r8tBI/rcRPthJvudY+xmL68cz2",
"2oZbfOc/Lh2qpMZE3G5lNJ1ORhPs1ZVGqS6qcKIVaxLZtjaASBRwGB7pTzm0pgQNVdH1ow0PD62vsBqU",
"kKEccXwoyVDmJFXiJVHm4cf/4wVOFIQjjAz6Q4DstSTTzvSeBRHAC7IqhQWMIdscSGlONrObLprCcoIB",
"DUPWJN0QJE2L67LIcTJncEiSY1CNQy0Wg3FZVHVRlFlOj0OdhRCJyJA0gxMVkTdUOW5IKqsLssirSNOh",
"YshIjkEd8XHJYJESl+IaKyoiNBSoqjKrGLysxXlZOtpssToO1zGTyHa0ZJq+YxbwKUmBx1H+U/i6+R8q",
"N3+jbcmWeSOd0Jy4lUm2c0L7kJXIJpulj+5AkRO+omonW6kOWYmzKRwzK3AcJG/9h6zERRs7xnEcd4xl",
"pLf5xsttcIK3kfPv/uqPF/3Z625htTKTa2Fe6YGqybmkR6lDv8T6aKXjyX/ZQU/jkirS475mX+r5Hi86",
"FBUOkC869iToNXkuiCJ+vHecEWVJYPc9xOxNie300viCO7uHd0kVJaKKbxDzfO3BRxREufHwI4oqJ9Ud",
"f+rvKDV3dr81gZyisqwsSwLNZWpJkDhRkUnzDqe8PkJvKyzLy2FZPM7jEj6m5l/QrKKHJndrxZ9YbznL",
"7ZbSvMmXteVXRe/htYYuQU93V290p7Tk5Se8/ETjQ4yCndKSv5EvF19612fLhacNIv9/sffil+d7sJRb",
"WPXmXu8r1dXd29n1D2Jq+ZH/4EodsrALf4IoklJHOo5Rl/zHM9UGQsNXXMWpyvhk+dZzt7AYpVEwNGSG",
"uhsN4XNa7Yud/ZzNJkbA/wDWVVVVw6SyrmKdrQG6oihKWFFqoC7W4ZwN2o1VlP+9SZTvjVtFOQV1Fed7",
"Q+/hXA2am613OWogTrarengf8w62+2XGUZCd0YymGyG9VPjT+Qij+XOv+Amee0f37dylaWMPsmRbMolS",
"LEtIgOAKGyCrThTVA5p1oZM0fjLv6Kf+4029ojXch8rjseqTP7R0CIyq+sFC16qP9Y/9NwAA//8BOFYd",
"GS4AAA==",
}
// GetSwagger returns the content of the embedded swagger specification file
// or error if failed to decode
func decodeSpec() ([]byte, error) {
zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
if err != nil {
return nil, fmt.Errorf("error base64 decoding spec: %s", err)
}
zr, err := gzip.NewReader(bytes.NewReader(zipped))
if err != nil {
return nil, fmt.Errorf("error decompressing spec: %s", err)
}
var buf bytes.Buffer
_, err = buf.ReadFrom(zr)
if err != nil {
return nil, fmt.Errorf("error decompressing spec: %s", err)
}
return buf.Bytes(), nil
}
var rawSpec = decodeSpecCached()
// a naive cached of a decoded swagger spec
func decodeSpecCached() func() ([]byte, error) {
data, err := decodeSpec()
return func() ([]byte, error) {
return data, err
}
}
// Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
var res = make(map[string]func() ([]byte, error))
if len(pathToFile) > 0 {
res[pathToFile] = rawSpec
}
return res
}
// GetSwagger returns the Swagger specification corresponding to the generated code
// in this file. The external references of Swagger specification are resolved.
// The logic of resolving external references is tightly connected to "import-mapping" feature.
// Externally referenced files must be embedded in the corresponding golang packages.
// Urls can be supported but this task was out of the scope.
func GetSwagger() (swagger *openapi3.T, err error) {
var resolvePath = PathToRawSpec("")
loader := openapi3.NewLoader()
loader.IsExternalRefsAllowed = true
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
var pathToFile = url.String()
pathToFile = path.Clean(pathToFile)
getSpec, ok := resolvePath[pathToFile]
if !ok {
err1 := fmt.Errorf("path not found: %s", pathToFile)
return nil, err1
}
return getSpec()
}
var specData []byte
specData, err = rawSpec()
if err != nil {
return
}
swagger, err = loader.LoadFromData(specData)
if err != nil {
return
}
return
}