exchange/okex/api/account/account.gen.go

3325 lines
107 KiB
Go
Raw Permalink Normal View History

2024-06-25 16:59:56 +00:00
// Package account 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 account
import (
"bytes"
"compress/gzip"
"context"
"encoding/base64"
"encoding/json"
"fmt"
"io"
"io/ioutil"
"net/http"
"net/url"
"path"
"strings"
"github.com/deepmap/oapi-codegen/pkg/runtime"
"github.com/getkin/kin-openapi/openapi3"
)
// GetApiV5AccountAccountPositionRiskParams defines parameters for GetApiV5AccountAccountPositionRisk.
type GetApiV5AccountAccountPositionRiskParams struct {
// 产品类型<br>`SPOT`:币币<br>`MARGIN`:币币杠杆<br>`SWAP`:永续合约<br>`FUTURES`:交割合约<br>`OPTION`:期权
InstType *string `json:"instType,omitempty"`
}
// GetApiV5AccountBalanceParams defines parameters for GetApiV5AccountBalance.
type GetApiV5AccountBalanceParams struct {
// 币种,如:`BTC`
Ccy *string `json:"ccy,omitempty"`
}
// GetApiV5AccountBillsParams defines parameters for GetApiV5AccountBills.
type GetApiV5AccountBillsParams struct {
// 产品类型<br>`SPOT`:币币<br>`MARGIN`:币币杠杆<br>`SWAP`:永续合约<br>`FUTURES`:交割合约<br>`OPTION`:期权
InstType *string `json:"instType,omitempty"`
// 币种,如:`BTC`
Ccy *string `json:"ccy,omitempty"`
// 仓位类型<br>`isolated`:逐仓 `cross`:全仓
MgnMode *string `json:"mgnMode,omitempty"`
// 合约类型<br>`linear`:正向合约 `inverse`:反向合约<br>仅交割/永续有效
CtType *string `json:"ctType,omitempty"`
// 账单类型<br>1划转 2交易 3交割 4自动换币 5强平 6保证金划转 7扣息 8资金费 9自动减仓 10穿仓补偿 11系统换币 12策略划拨
Type *string `json:"type,omitempty"`
// 子账单类型<br>1买入 2卖出 3开多 4开空 5平多 6平空 9扣息 11转入 12转出 160手动追加保证金 161手动减少保证金 162自动追加保证金 114自动换币买入 115自动换币卖出 118系统换币转入 119系统换币转出 100强减平多 101强减平空 102强减买入 103强减卖出 104强平平多 105强平平空 106强平买入 107强平卖出 110强平换币转入 111强平换币转出 125自动减仓平多 126自动减仓平空 127自动减仓买入 128自动减仓卖出 170到期行权 171到期被行权 172到期作废 112交割平多 113交割平空 117交割/期权穿仓补偿 173资金费支出 174资金费收入 200:系统转入 201:手动转入 202:系统转出 203:手动转出
SubType *string `json:"subType,omitempty"`
// 请求此ID之前更旧的数据的分页内容传的值为对应接口的`billId`
After *string `json:"after,omitempty"`
// 请求此ID之后更新的数据的分页内容传的值为对应接口的`billId`
Before *string `json:"before,omitempty"`
// 返回结果的数量默认100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5AccountBillsArchiveParams defines parameters for GetApiV5AccountBillsArchive.
type GetApiV5AccountBillsArchiveParams struct {
// 产品类型<br>`SPOT`:币币<br>`MARGIN`:币币杠杆<br>`SWAP`:永续合约<br>`FUTURES`:交割合约<br>`OPTION`:期权
InstType *string `json:"instType,omitempty"`
// 币种,如:`BTC`
Ccy *string `json:"ccy,omitempty"`
// 仓位类型<br>`isolated`:逐仓 `cross`:全仓
MgnMode *string `json:"mgnMode,omitempty"`
// 合约类型<br>`linear`:正向合约 `inverse`:反向合约<br>仅交割/永续有效
CtType *string `json:"ctType,omitempty"`
// 账单类型<br>1划转 2交易 3交割 4自动换币 5强平 6保证金划转 7扣息 8资金费 9自动减仓 10穿仓补偿 11系统换币 12策略划拨
Type *string `json:"type,omitempty"`
// 子账单类型<br>1买入 2卖出 3开多 4开空 5平多 6平空 9扣息 11转入 12转出 160手动追加保证金 161手动减少保证金 162自动追加保证金 114自动换币买入 115自动换币卖出 118系统换币转入 119系统换币转出 100强减平多 101强减平空 102强减买入 103强减卖出 104强平平多 105强平平空 106强平买入 107强平卖出 110强平换币转入 111强平换币转出 125自动减仓平多 126自动减仓平空 127自动减仓买入 128自动减仓卖出 170到期行权 171到期被行权 172到期作废 112交割平多 113交割平空 117交割/期权穿仓补偿 173资金费支出 174资金费收入 200:系统转入 201:手动转入 202:系统转出 203:手动转出
SubType *string `json:"subType,omitempty"`
// 请求此ID之前更旧的数据的分页内容传的值为对应接口的`billId`
After *string `json:"after,omitempty"`
// 请求此ID之后更新的数据的分页内容传的值为对应接口的`billId`
Before *string `json:"before,omitempty"`
// 返回结果的数量默认100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5AccountInterestAccruedParams defines parameters for GetApiV5AccountInterestAccrued.
type GetApiV5AccountInterestAccruedParams struct {
// 产品ID`BTC-USDT`
InstId *string `json:"instId,omitempty"`
// 保证金模式<br>`isolated`:逐仓 `cross`:全仓
MgnMode *string `json:"mgnMode,omitempty"`
// 币种,如:`BTC`
Ccy *string `json:"ccy,omitempty"`
// 查询在此之前的内容值为时间戳Unix时间戳为毫秒数格式
After *string `json:"after,omitempty"`
// 查询在此之后的内容值为时间戳Unix时间戳为毫秒数格式
Before *string `json:"before,omitempty"`
// 分页返回的结果集数量最大为100不填默认返回100条
Limit *string `json:"limit,omitempty"`
}
// GetApiV5AccountInterestRateParams defines parameters for GetApiV5AccountInterestRate.
type GetApiV5AccountInterestRateParams struct {
// 币种,如:`BTC`
Ccy *string `json:"ccy,omitempty"`
}
// GetApiV5AccountLeverageInfoParams defines parameters for GetApiV5AccountLeverageInfo.
type GetApiV5AccountLeverageInfoParams struct {
// 产品ID`BTC-USDT-SWAP`<br>支持多产品ID查询不超过20个半角逗号分隔
InstId string `json:"instId"`
// 保证金模式<br>`cross`:全仓 `isolated`:逐仓
MgnMode string `json:"mgnMode"`
}
// GetApiV5AccountMaxAvailSizeParams defines parameters for GetApiV5AccountMaxAvailSize.
type GetApiV5AccountMaxAvailSizeParams struct {
// 产品ID`BTC-USDT`<br>支持多产品ID查询不超过5个半角逗号分隔
InstId string `json:"instId"`
// 交易模式<br>`cross`:全仓 `isolated`:逐仓 `cash`:非保证金
TdMode string `json:"tdMode"`
// 保证金币种,仅适用于单币种保证金模式下的全仓杠杆订单
Ccy *string `json:"ccy,omitempty"`
// 是否为只减仓模式,仅适用于`币币杠杆`
ReduceOnly *bool `json:"reduceOnly,omitempty"`
}
// GetApiV5AccountMaxLoanParams defines parameters for GetApiV5AccountMaxLoan.
type GetApiV5AccountMaxLoanParams struct {
// 产品ID`BTC-USDT`
InstId string `json:"instId"`
// 仓位类型<br>`cross`:全仓 `isolated`:逐仓
MgnMode string `json:"mgnMode"`
// 保证金币种,如:`BTC`<br>币币杠杆单币种全仓情况下必须指定保证金币种
MgnCcy *string `json:"mgnCcy,omitempty"`
}
// GetApiV5AccountMaxSizeParams defines parameters for GetApiV5AccountMaxSize.
type GetApiV5AccountMaxSizeParams struct {
// 产品ID`BTC-USDT`<br>支持多产品ID查询不超过5个半角逗号分隔
InstId string `json:"instId"`
// 交易模式<br>`cross`:全仓 `isolated`:逐仓 `cash`:非保证金
TdMode string `json:"tdMode"`
// 保证金币种,仅适用于单币种保证金模式下的全仓杠杆订单
Ccy *string `json:"ccy,omitempty"`
// 委托价格<br>当不填委托价时会按当前最新成交价计算<br>当指定多个`instId`查询时,忽略该参数,按当前最新成交价计算
Px *string `json:"px,omitempty"`
}
// GetApiV5AccountMaxWithdrawalParams defines parameters for GetApiV5AccountMaxWithdrawal.
type GetApiV5AccountMaxWithdrawalParams struct {
// 币种,如:`BTC`
Ccy *string `json:"ccy,omitempty"`
}
// PostApiV5AccountPositionMarginBalanceJSONBody defines parameters for PostApiV5AccountPositionMarginBalance.
type PostApiV5AccountPositionMarginBalanceJSONBody struct {
// 必填<br>增加或减少的保证金数量
Amt *string `json:"amt,omitempty"`
// 必填<br>产品ID`BTC-USDT-SWAP`
InstId string `json:"instId"`
// 必填<br>持仓方向,默认值是`net`<br>`long`:双向持仓多头<br>`short`:双向持仓空头<br>`net`:单向持仓
PosSide string `json:"posSide"`
// 必填<br>增加/减少保证金<br>`add`:增加 `reduce`:减少
Type string `json:"type"`
}
// GetApiV5AccountPositionsParams defines parameters for GetApiV5AccountPositions.
type GetApiV5AccountPositionsParams struct {
// 产品类型<br>`SPOT`:币币<br>`MARGIN`:币币杠杆<br>`SWAP`:永续合约<br>`FUTURES`:交割合约<br>`OPTION`:期权
InstType *string `json:"instType,omitempty"`
// 产品ID`BTC-USDT`<br>支持多个instId查询不超过10个半角逗号分隔
InstId *string `json:"instId,omitempty"`
// 持仓ID支持多个posId查询不超过20个半角逗号分割
PosId *string `json:"posId,omitempty"`
}
// PostApiV5AccountSetGreeksJSONBody defines parameters for PostApiV5AccountSetGreeks.
type PostApiV5AccountSetGreeksJSONBody struct {
// 希腊字母展示方式<br>`PA`:币本位,`BS`:美元本位
GreeksType string `json:"greeksType"`
}
// PostApiV5AccountSetLeverageJSONBody defines parameters for PostApiV5AccountSetLeverage.
type PostApiV5AccountSetLeverageJSONBody struct {
// 可选<br>保证金币种,仅适用于跨币种保证金模式的全仓`币币杠杆`。
Ccy *string `json:"ccy,omitempty"`
// 可选<br>产品ID币对、合约<br>`instId`和`ccy`至少要传一个如果两个都传默认使用instId
InstId *string `json:"instId,omitempty"`
// 必填<br>杠杆倍数
Lever string `json:"lever"`
// 保证金模式<br>`isolated`:逐仓,`cross`:全仓<br>如果`ccy`有效传值,该参数值只能为`cross`。
MgnMode string `json:"mgnMode"`
// 可选<br>持仓方向<br>`long`:双向持仓多头<br>`short`:双向持仓空头<br>`net`:单向持仓<br>在双向持仓且保证金模式为逐仓条件下必填,且仅可选择`long`或`short`,其他情况下非必填,默认`net`;仅适用于`交割/永续`
PosSide *string `json:"posSide,omitempty"`
}
// PostApiV5AccountSetPositionModeJSONBody defines parameters for PostApiV5AccountSetPositionMode.
type PostApiV5AccountSetPositionModeJSONBody struct {
// 持仓方式<br>`long_short_mode`:双向持仓<br>`net_mode`:单向持仓
PosMode string `json:"posMode"`
}
// GetApiV5AccountTradeFeeParams defines parameters for GetApiV5AccountTradeFee.
type GetApiV5AccountTradeFeeParams struct {
// 产品类型<br>`SPOT`:币币<br>`MARGIN`:币币杠杆<br>`SWAP`:永续合约<br>`FUTURES`:交割合约<br>`OPTION`:期权
InstType string `json:"instType"`
// 产品ID`BTC-USDT`<br>仅适用于instType为币币/币币杠杆
InstId *string `json:"instId,omitempty"`
// 合约标的指数,如:`BTC-USD`<br>仅适用于`instType`为`交割`/`永续`/`期权`
Uly *string `json:"uly,omitempty"`
// 币种手续费类别<br>1第一类币种费率 2第二类币种费率 3第三类币种费率 4第四类币种费率
Category *string `json:"category,omitempty"`
}
// PostApiV5AccountPositionMarginBalanceJSONRequestBody defines body for PostApiV5AccountPositionMarginBalance for application/json ContentType.
type PostApiV5AccountPositionMarginBalanceJSONRequestBody = PostApiV5AccountPositionMarginBalanceJSONBody
// PostApiV5AccountSetGreeksJSONRequestBody defines body for PostApiV5AccountSetGreeks for application/json ContentType.
type PostApiV5AccountSetGreeksJSONRequestBody = PostApiV5AccountSetGreeksJSONBody
// PostApiV5AccountSetLeverageJSONRequestBody defines body for PostApiV5AccountSetLeverage for application/json ContentType.
type PostApiV5AccountSetLeverageJSONRequestBody = PostApiV5AccountSetLeverageJSONBody
// PostApiV5AccountSetPositionModeJSONRequestBody defines body for PostApiV5AccountSetPositionMode for application/json ContentType.
type PostApiV5AccountSetPositionModeJSONRequestBody = PostApiV5AccountSetPositionModeJSONBody
// 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 {
// GetApiV5AccountAccountPositionRisk request
GetApiV5AccountAccountPositionRisk(ctx context.Context, params *GetApiV5AccountAccountPositionRiskParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountBalance request
GetApiV5AccountBalance(ctx context.Context, params *GetApiV5AccountBalanceParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountBills request
GetApiV5AccountBills(ctx context.Context, params *GetApiV5AccountBillsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountBillsArchive request
GetApiV5AccountBillsArchive(ctx context.Context, params *GetApiV5AccountBillsArchiveParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountConfig request
GetApiV5AccountConfig(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountInterestAccrued request
GetApiV5AccountInterestAccrued(ctx context.Context, params *GetApiV5AccountInterestAccruedParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountInterestRate request
GetApiV5AccountInterestRate(ctx context.Context, params *GetApiV5AccountInterestRateParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountLeverageInfo request
GetApiV5AccountLeverageInfo(ctx context.Context, params *GetApiV5AccountLeverageInfoParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountMaxAvailSize request
GetApiV5AccountMaxAvailSize(ctx context.Context, params *GetApiV5AccountMaxAvailSizeParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountMaxLoan request
GetApiV5AccountMaxLoan(ctx context.Context, params *GetApiV5AccountMaxLoanParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountMaxSize request
GetApiV5AccountMaxSize(ctx context.Context, params *GetApiV5AccountMaxSizeParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountMaxWithdrawal request
GetApiV5AccountMaxWithdrawal(ctx context.Context, params *GetApiV5AccountMaxWithdrawalParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostApiV5AccountPositionMarginBalance request with any body
PostApiV5AccountPositionMarginBalanceWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostApiV5AccountPositionMarginBalance(ctx context.Context, body PostApiV5AccountPositionMarginBalanceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountPositions request
GetApiV5AccountPositions(ctx context.Context, params *GetApiV5AccountPositionsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostApiV5AccountSetGreeks request with any body
PostApiV5AccountSetGreeksWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostApiV5AccountSetGreeks(ctx context.Context, body PostApiV5AccountSetGreeksJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostApiV5AccountSetLeverage request with any body
PostApiV5AccountSetLeverageWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostApiV5AccountSetLeverage(ctx context.Context, body PostApiV5AccountSetLeverageJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostApiV5AccountSetPositionMode request with any body
PostApiV5AccountSetPositionModeWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostApiV5AccountSetPositionMode(ctx context.Context, body PostApiV5AccountSetPositionModeJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetApiV5AccountTradeFee request
GetApiV5AccountTradeFee(ctx context.Context, params *GetApiV5AccountTradeFeeParams, reqEditors ...RequestEditorFn) (*http.Response, error)
}
func (c *Client) GetApiV5AccountAccountPositionRisk(ctx context.Context, params *GetApiV5AccountAccountPositionRiskParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountAccountPositionRiskRequest(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) GetApiV5AccountBalance(ctx context.Context, params *GetApiV5AccountBalanceParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountBalanceRequest(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) GetApiV5AccountBills(ctx context.Context, params *GetApiV5AccountBillsParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountBillsRequest(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) GetApiV5AccountBillsArchive(ctx context.Context, params *GetApiV5AccountBillsArchiveParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountBillsArchiveRequest(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) GetApiV5AccountConfig(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountConfigRequest(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) GetApiV5AccountInterestAccrued(ctx context.Context, params *GetApiV5AccountInterestAccruedParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountInterestAccruedRequest(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) GetApiV5AccountInterestRate(ctx context.Context, params *GetApiV5AccountInterestRateParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountInterestRateRequest(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) GetApiV5AccountLeverageInfo(ctx context.Context, params *GetApiV5AccountLeverageInfoParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountLeverageInfoRequest(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) GetApiV5AccountMaxAvailSize(ctx context.Context, params *GetApiV5AccountMaxAvailSizeParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountMaxAvailSizeRequest(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) GetApiV5AccountMaxLoan(ctx context.Context, params *GetApiV5AccountMaxLoanParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountMaxLoanRequest(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) GetApiV5AccountMaxSize(ctx context.Context, params *GetApiV5AccountMaxSizeParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountMaxSizeRequest(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) GetApiV5AccountMaxWithdrawal(ctx context.Context, params *GetApiV5AccountMaxWithdrawalParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountMaxWithdrawalRequest(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) PostApiV5AccountPositionMarginBalanceWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountPositionMarginBalanceRequestWithBody(c.Server, contentType, body)
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) PostApiV5AccountPositionMarginBalance(ctx context.Context, body PostApiV5AccountPositionMarginBalanceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountPositionMarginBalanceRequest(c.Server, body)
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) GetApiV5AccountPositions(ctx context.Context, params *GetApiV5AccountPositionsParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountPositionsRequest(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) PostApiV5AccountSetGreeksWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountSetGreeksRequestWithBody(c.Server, contentType, body)
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) PostApiV5AccountSetGreeks(ctx context.Context, body PostApiV5AccountSetGreeksJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountSetGreeksRequest(c.Server, body)
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) PostApiV5AccountSetLeverageWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountSetLeverageRequestWithBody(c.Server, contentType, body)
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) PostApiV5AccountSetLeverage(ctx context.Context, body PostApiV5AccountSetLeverageJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountSetLeverageRequest(c.Server, body)
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) PostApiV5AccountSetPositionModeWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountSetPositionModeRequestWithBody(c.Server, contentType, body)
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) PostApiV5AccountSetPositionMode(ctx context.Context, body PostApiV5AccountSetPositionModeJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostApiV5AccountSetPositionModeRequest(c.Server, body)
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) GetApiV5AccountTradeFee(ctx context.Context, params *GetApiV5AccountTradeFeeParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetApiV5AccountTradeFeeRequest(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)
}
// NewGetApiV5AccountAccountPositionRiskRequest generates requests for GetApiV5AccountAccountPositionRisk
func NewGetApiV5AccountAccountPositionRiskRequest(server string, params *GetApiV5AccountAccountPositionRiskParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/account-position-risk")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.InstType != nil {
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)
}
}
}
}
queryURL.RawQuery = queryValues.Encode()
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetApiV5AccountBalanceRequest generates requests for GetApiV5AccountBalance
func NewGetApiV5AccountBalanceRequest(server string, params *GetApiV5AccountBalanceParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/balance")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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
}
// NewGetApiV5AccountBillsRequest generates requests for GetApiV5AccountBills
func NewGetApiV5AccountBillsRequest(server string, params *GetApiV5AccountBillsParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/bills")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.InstType != nil {
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.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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.MgnMode != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "mgnMode", runtime.ParamLocationQuery, *params.MgnMode); 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.CtType != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ctType", runtime.ParamLocationQuery, *params.CtType); 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.Type != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "type", runtime.ParamLocationQuery, *params.Type); 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.SubType != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "subType", runtime.ParamLocationQuery, *params.SubType); 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
}
// NewGetApiV5AccountBillsArchiveRequest generates requests for GetApiV5AccountBillsArchive
func NewGetApiV5AccountBillsArchiveRequest(server string, params *GetApiV5AccountBillsArchiveParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/bills-archive")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.InstType != nil {
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.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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.MgnMode != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "mgnMode", runtime.ParamLocationQuery, *params.MgnMode); 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.CtType != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ctType", runtime.ParamLocationQuery, *params.CtType); 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.Type != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "type", runtime.ParamLocationQuery, *params.Type); 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.SubType != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "subType", runtime.ParamLocationQuery, *params.SubType); 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
}
// NewGetApiV5AccountConfigRequest generates requests for GetApiV5AccountConfig
func NewGetApiV5AccountConfigRequest(server string) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/config")
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
}
// NewGetApiV5AccountInterestAccruedRequest generates requests for GetApiV5AccountInterestAccrued
func NewGetApiV5AccountInterestAccruedRequest(server string, params *GetApiV5AccountInterestAccruedParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/interest-accrued")
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.MgnMode != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "mgnMode", runtime.ParamLocationQuery, *params.MgnMode); 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.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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
}
// NewGetApiV5AccountInterestRateRequest generates requests for GetApiV5AccountInterestRate
func NewGetApiV5AccountInterestRateRequest(server string, params *GetApiV5AccountInterestRateParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/interest-rate")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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
}
// NewGetApiV5AccountLeverageInfoRequest generates requests for GetApiV5AccountLeverageInfo
func NewGetApiV5AccountLeverageInfoRequest(server string, params *GetApiV5AccountLeverageInfoParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/leverage-info")
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 queryFrag, err := runtime.StyleParamWithLocation("form", true, "mgnMode", runtime.ParamLocationQuery, params.MgnMode); 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
}
// NewGetApiV5AccountMaxAvailSizeRequest generates requests for GetApiV5AccountMaxAvailSize
func NewGetApiV5AccountMaxAvailSizeRequest(server string, params *GetApiV5AccountMaxAvailSizeParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/max-avail-size")
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 queryFrag, err := runtime.StyleParamWithLocation("form", true, "tdMode", runtime.ParamLocationQuery, params.TdMode); 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.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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.ReduceOnly != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "reduceOnly", runtime.ParamLocationQuery, *params.ReduceOnly); 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
}
// NewGetApiV5AccountMaxLoanRequest generates requests for GetApiV5AccountMaxLoan
func NewGetApiV5AccountMaxLoanRequest(server string, params *GetApiV5AccountMaxLoanParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/max-loan")
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 queryFrag, err := runtime.StyleParamWithLocation("form", true, "mgnMode", runtime.ParamLocationQuery, params.MgnMode); 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.MgnCcy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "mgnCcy", runtime.ParamLocationQuery, *params.MgnCcy); 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
}
// NewGetApiV5AccountMaxSizeRequest generates requests for GetApiV5AccountMaxSize
func NewGetApiV5AccountMaxSizeRequest(server string, params *GetApiV5AccountMaxSizeParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/max-size")
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 queryFrag, err := runtime.StyleParamWithLocation("form", true, "tdMode", runtime.ParamLocationQuery, params.TdMode); 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.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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.Px != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "px", runtime.ParamLocationQuery, *params.Px); 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
}
// NewGetApiV5AccountMaxWithdrawalRequest generates requests for GetApiV5AccountMaxWithdrawal
func NewGetApiV5AccountMaxWithdrawalRequest(server string, params *GetApiV5AccountMaxWithdrawalParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/max-withdrawal")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.Ccy != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "ccy", runtime.ParamLocationQuery, *params.Ccy); 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
}
// NewPostApiV5AccountPositionMarginBalanceRequest calls the generic PostApiV5AccountPositionMarginBalance builder with application/json body
func NewPostApiV5AccountPositionMarginBalanceRequest(server string, body PostApiV5AccountPositionMarginBalanceJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewPostApiV5AccountPositionMarginBalanceRequestWithBody(server, "application/json", bodyReader)
}
// NewPostApiV5AccountPositionMarginBalanceRequestWithBody generates requests for PostApiV5AccountPositionMarginBalance with any type of body
func NewPostApiV5AccountPositionMarginBalanceRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/position/margin-balance")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewGetApiV5AccountPositionsRequest generates requests for GetApiV5AccountPositions
func NewGetApiV5AccountPositionsRequest(server string, params *GetApiV5AccountPositionsParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/positions")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
queryValues := queryURL.Query()
if params.InstType != nil {
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.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.PosId != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "posId", runtime.ParamLocationQuery, *params.PosId); 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
}
// NewPostApiV5AccountSetGreeksRequest calls the generic PostApiV5AccountSetGreeks builder with application/json body
func NewPostApiV5AccountSetGreeksRequest(server string, body PostApiV5AccountSetGreeksJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewPostApiV5AccountSetGreeksRequestWithBody(server, "application/json", bodyReader)
}
// NewPostApiV5AccountSetGreeksRequestWithBody generates requests for PostApiV5AccountSetGreeks with any type of body
func NewPostApiV5AccountSetGreeksRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/set-greeks")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewPostApiV5AccountSetLeverageRequest calls the generic PostApiV5AccountSetLeverage builder with application/json body
func NewPostApiV5AccountSetLeverageRequest(server string, body PostApiV5AccountSetLeverageJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewPostApiV5AccountSetLeverageRequestWithBody(server, "application/json", bodyReader)
}
// NewPostApiV5AccountSetLeverageRequestWithBody generates requests for PostApiV5AccountSetLeverage with any type of body
func NewPostApiV5AccountSetLeverageRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/set-leverage")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewPostApiV5AccountSetPositionModeRequest calls the generic PostApiV5AccountSetPositionMode builder with application/json body
func NewPostApiV5AccountSetPositionModeRequest(server string, body PostApiV5AccountSetPositionModeJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
buf, err := json.Marshal(body)
if err != nil {
return nil, err
}
bodyReader = bytes.NewReader(buf)
return NewPostApiV5AccountSetPositionModeRequestWithBody(server, "application/json", bodyReader)
}
// NewPostApiV5AccountSetPositionModeRequestWithBody generates requests for PostApiV5AccountSetPositionMode with any type of body
func NewPostApiV5AccountSetPositionModeRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/set-position-mode")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", queryURL.String(), body)
if err != nil {
return nil, err
}
req.Header.Add("Content-Type", contentType)
return req, nil
}
// NewGetApiV5AccountTradeFeeRequest generates requests for GetApiV5AccountTradeFee
func NewGetApiV5AccountTradeFeeRequest(server string, params *GetApiV5AccountTradeFeeParams) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/api/v5/account/trade-fee")
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.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.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)
}
}
}
}
if params.Category != nil {
if queryFrag, err := runtime.StyleParamWithLocation("form", true, "category", runtime.ParamLocationQuery, *params.Category); 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 {
// GetApiV5AccountAccountPositionRisk request
GetApiV5AccountAccountPositionRiskWithResponse(ctx context.Context, params *GetApiV5AccountAccountPositionRiskParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountAccountPositionRiskResponse, error)
// GetApiV5AccountBalance request
GetApiV5AccountBalanceWithResponse(ctx context.Context, params *GetApiV5AccountBalanceParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountBalanceResponse, error)
// GetApiV5AccountBills request
GetApiV5AccountBillsWithResponse(ctx context.Context, params *GetApiV5AccountBillsParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountBillsResponse, error)
// GetApiV5AccountBillsArchive request
GetApiV5AccountBillsArchiveWithResponse(ctx context.Context, params *GetApiV5AccountBillsArchiveParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountBillsArchiveResponse, error)
// GetApiV5AccountConfig request
GetApiV5AccountConfigWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetApiV5AccountConfigResponse, error)
// GetApiV5AccountInterestAccrued request
GetApiV5AccountInterestAccruedWithResponse(ctx context.Context, params *GetApiV5AccountInterestAccruedParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountInterestAccruedResponse, error)
// GetApiV5AccountInterestRate request
GetApiV5AccountInterestRateWithResponse(ctx context.Context, params *GetApiV5AccountInterestRateParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountInterestRateResponse, error)
// GetApiV5AccountLeverageInfo request
GetApiV5AccountLeverageInfoWithResponse(ctx context.Context, params *GetApiV5AccountLeverageInfoParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountLeverageInfoResponse, error)
// GetApiV5AccountMaxAvailSize request
GetApiV5AccountMaxAvailSizeWithResponse(ctx context.Context, params *GetApiV5AccountMaxAvailSizeParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxAvailSizeResponse, error)
// GetApiV5AccountMaxLoan request
GetApiV5AccountMaxLoanWithResponse(ctx context.Context, params *GetApiV5AccountMaxLoanParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxLoanResponse, error)
// GetApiV5AccountMaxSize request
GetApiV5AccountMaxSizeWithResponse(ctx context.Context, params *GetApiV5AccountMaxSizeParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxSizeResponse, error)
// GetApiV5AccountMaxWithdrawal request
GetApiV5AccountMaxWithdrawalWithResponse(ctx context.Context, params *GetApiV5AccountMaxWithdrawalParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxWithdrawalResponse, error)
// PostApiV5AccountPositionMarginBalance request with any body
PostApiV5AccountPositionMarginBalanceWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountPositionMarginBalanceResponse, error)
PostApiV5AccountPositionMarginBalanceWithResponse(ctx context.Context, body PostApiV5AccountPositionMarginBalanceJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountPositionMarginBalanceResponse, error)
// GetApiV5AccountPositions request
GetApiV5AccountPositionsWithResponse(ctx context.Context, params *GetApiV5AccountPositionsParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountPositionsResponse, error)
// PostApiV5AccountSetGreeks request with any body
PostApiV5AccountSetGreeksWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetGreeksResponse, error)
PostApiV5AccountSetGreeksWithResponse(ctx context.Context, body PostApiV5AccountSetGreeksJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetGreeksResponse, error)
// PostApiV5AccountSetLeverage request with any body
PostApiV5AccountSetLeverageWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetLeverageResponse, error)
PostApiV5AccountSetLeverageWithResponse(ctx context.Context, body PostApiV5AccountSetLeverageJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetLeverageResponse, error)
// PostApiV5AccountSetPositionMode request with any body
PostApiV5AccountSetPositionModeWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetPositionModeResponse, error)
PostApiV5AccountSetPositionModeWithResponse(ctx context.Context, body PostApiV5AccountSetPositionModeJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetPositionModeResponse, error)
// GetApiV5AccountTradeFee request
GetApiV5AccountTradeFeeWithResponse(ctx context.Context, params *GetApiV5AccountTradeFeeParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountTradeFeeResponse, error)
}
type GetApiV5AccountAccountPositionRiskResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountAccountPositionRiskResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountAccountPositionRiskResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountBalanceResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountBalanceResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountBalanceResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountBillsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountBillsResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountBillsResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountBillsArchiveResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountBillsArchiveResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountBillsArchiveResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountConfigResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountConfigResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountConfigResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountInterestAccruedResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountInterestAccruedResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountInterestAccruedResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountInterestRateResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountInterestRateResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountInterestRateResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountLeverageInfoResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountLeverageInfoResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountLeverageInfoResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountMaxAvailSizeResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountMaxAvailSizeResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountMaxAvailSizeResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountMaxLoanResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountMaxLoanResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountMaxLoanResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountMaxSizeResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountMaxSizeResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountMaxSizeResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountMaxWithdrawalResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountMaxWithdrawalResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountMaxWithdrawalResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type PostApiV5AccountPositionMarginBalanceResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
}
// Status returns HTTPResponse.Status
func (r PostApiV5AccountPositionMarginBalanceResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r PostApiV5AccountPositionMarginBalanceResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountPositionsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountPositionsResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountPositionsResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type PostApiV5AccountSetGreeksResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
}
// Status returns HTTPResponse.Status
func (r PostApiV5AccountSetGreeksResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r PostApiV5AccountSetGreeksResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type PostApiV5AccountSetLeverageResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
}
// Status returns HTTPResponse.Status
func (r PostApiV5AccountSetLeverageResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r PostApiV5AccountSetLeverageResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type PostApiV5AccountSetPositionModeResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
}
// Status returns HTTPResponse.Status
func (r PostApiV5AccountSetPositionModeResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r PostApiV5AccountSetPositionModeResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetApiV5AccountTradeFeeResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *map[string]interface{}
}
// Status returns HTTPResponse.Status
func (r GetApiV5AccountTradeFeeResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetApiV5AccountTradeFeeResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
// GetApiV5AccountAccountPositionRiskWithResponse request returning *GetApiV5AccountAccountPositionRiskResponse
func (c *ClientWithResponses) GetApiV5AccountAccountPositionRiskWithResponse(ctx context.Context, params *GetApiV5AccountAccountPositionRiskParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountAccountPositionRiskResponse, error) {
rsp, err := c.GetApiV5AccountAccountPositionRisk(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountAccountPositionRiskResponse(rsp)
}
// GetApiV5AccountBalanceWithResponse request returning *GetApiV5AccountBalanceResponse
func (c *ClientWithResponses) GetApiV5AccountBalanceWithResponse(ctx context.Context, params *GetApiV5AccountBalanceParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountBalanceResponse, error) {
rsp, err := c.GetApiV5AccountBalance(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountBalanceResponse(rsp)
}
// GetApiV5AccountBillsWithResponse request returning *GetApiV5AccountBillsResponse
func (c *ClientWithResponses) GetApiV5AccountBillsWithResponse(ctx context.Context, params *GetApiV5AccountBillsParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountBillsResponse, error) {
rsp, err := c.GetApiV5AccountBills(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountBillsResponse(rsp)
}
// GetApiV5AccountBillsArchiveWithResponse request returning *GetApiV5AccountBillsArchiveResponse
func (c *ClientWithResponses) GetApiV5AccountBillsArchiveWithResponse(ctx context.Context, params *GetApiV5AccountBillsArchiveParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountBillsArchiveResponse, error) {
rsp, err := c.GetApiV5AccountBillsArchive(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountBillsArchiveResponse(rsp)
}
// GetApiV5AccountConfigWithResponse request returning *GetApiV5AccountConfigResponse
func (c *ClientWithResponses) GetApiV5AccountConfigWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetApiV5AccountConfigResponse, error) {
rsp, err := c.GetApiV5AccountConfig(ctx, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountConfigResponse(rsp)
}
// GetApiV5AccountInterestAccruedWithResponse request returning *GetApiV5AccountInterestAccruedResponse
func (c *ClientWithResponses) GetApiV5AccountInterestAccruedWithResponse(ctx context.Context, params *GetApiV5AccountInterestAccruedParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountInterestAccruedResponse, error) {
rsp, err := c.GetApiV5AccountInterestAccrued(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountInterestAccruedResponse(rsp)
}
// GetApiV5AccountInterestRateWithResponse request returning *GetApiV5AccountInterestRateResponse
func (c *ClientWithResponses) GetApiV5AccountInterestRateWithResponse(ctx context.Context, params *GetApiV5AccountInterestRateParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountInterestRateResponse, error) {
rsp, err := c.GetApiV5AccountInterestRate(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountInterestRateResponse(rsp)
}
// GetApiV5AccountLeverageInfoWithResponse request returning *GetApiV5AccountLeverageInfoResponse
func (c *ClientWithResponses) GetApiV5AccountLeverageInfoWithResponse(ctx context.Context, params *GetApiV5AccountLeverageInfoParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountLeverageInfoResponse, error) {
rsp, err := c.GetApiV5AccountLeverageInfo(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountLeverageInfoResponse(rsp)
}
// GetApiV5AccountMaxAvailSizeWithResponse request returning *GetApiV5AccountMaxAvailSizeResponse
func (c *ClientWithResponses) GetApiV5AccountMaxAvailSizeWithResponse(ctx context.Context, params *GetApiV5AccountMaxAvailSizeParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxAvailSizeResponse, error) {
rsp, err := c.GetApiV5AccountMaxAvailSize(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountMaxAvailSizeResponse(rsp)
}
// GetApiV5AccountMaxLoanWithResponse request returning *GetApiV5AccountMaxLoanResponse
func (c *ClientWithResponses) GetApiV5AccountMaxLoanWithResponse(ctx context.Context, params *GetApiV5AccountMaxLoanParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxLoanResponse, error) {
rsp, err := c.GetApiV5AccountMaxLoan(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountMaxLoanResponse(rsp)
}
// GetApiV5AccountMaxSizeWithResponse request returning *GetApiV5AccountMaxSizeResponse
func (c *ClientWithResponses) GetApiV5AccountMaxSizeWithResponse(ctx context.Context, params *GetApiV5AccountMaxSizeParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxSizeResponse, error) {
rsp, err := c.GetApiV5AccountMaxSize(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountMaxSizeResponse(rsp)
}
// GetApiV5AccountMaxWithdrawalWithResponse request returning *GetApiV5AccountMaxWithdrawalResponse
func (c *ClientWithResponses) GetApiV5AccountMaxWithdrawalWithResponse(ctx context.Context, params *GetApiV5AccountMaxWithdrawalParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountMaxWithdrawalResponse, error) {
rsp, err := c.GetApiV5AccountMaxWithdrawal(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountMaxWithdrawalResponse(rsp)
}
// PostApiV5AccountPositionMarginBalanceWithBodyWithResponse request with arbitrary body returning *PostApiV5AccountPositionMarginBalanceResponse
func (c *ClientWithResponses) PostApiV5AccountPositionMarginBalanceWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountPositionMarginBalanceResponse, error) {
rsp, err := c.PostApiV5AccountPositionMarginBalanceWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountPositionMarginBalanceResponse(rsp)
}
func (c *ClientWithResponses) PostApiV5AccountPositionMarginBalanceWithResponse(ctx context.Context, body PostApiV5AccountPositionMarginBalanceJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountPositionMarginBalanceResponse, error) {
rsp, err := c.PostApiV5AccountPositionMarginBalance(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountPositionMarginBalanceResponse(rsp)
}
// GetApiV5AccountPositionsWithResponse request returning *GetApiV5AccountPositionsResponse
func (c *ClientWithResponses) GetApiV5AccountPositionsWithResponse(ctx context.Context, params *GetApiV5AccountPositionsParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountPositionsResponse, error) {
rsp, err := c.GetApiV5AccountPositions(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountPositionsResponse(rsp)
}
// PostApiV5AccountSetGreeksWithBodyWithResponse request with arbitrary body returning *PostApiV5AccountSetGreeksResponse
func (c *ClientWithResponses) PostApiV5AccountSetGreeksWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetGreeksResponse, error) {
rsp, err := c.PostApiV5AccountSetGreeksWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountSetGreeksResponse(rsp)
}
func (c *ClientWithResponses) PostApiV5AccountSetGreeksWithResponse(ctx context.Context, body PostApiV5AccountSetGreeksJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetGreeksResponse, error) {
rsp, err := c.PostApiV5AccountSetGreeks(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountSetGreeksResponse(rsp)
}
// PostApiV5AccountSetLeverageWithBodyWithResponse request with arbitrary body returning *PostApiV5AccountSetLeverageResponse
func (c *ClientWithResponses) PostApiV5AccountSetLeverageWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetLeverageResponse, error) {
rsp, err := c.PostApiV5AccountSetLeverageWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountSetLeverageResponse(rsp)
}
func (c *ClientWithResponses) PostApiV5AccountSetLeverageWithResponse(ctx context.Context, body PostApiV5AccountSetLeverageJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetLeverageResponse, error) {
rsp, err := c.PostApiV5AccountSetLeverage(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountSetLeverageResponse(rsp)
}
// PostApiV5AccountSetPositionModeWithBodyWithResponse request with arbitrary body returning *PostApiV5AccountSetPositionModeResponse
func (c *ClientWithResponses) PostApiV5AccountSetPositionModeWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetPositionModeResponse, error) {
rsp, err := c.PostApiV5AccountSetPositionModeWithBody(ctx, contentType, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountSetPositionModeResponse(rsp)
}
func (c *ClientWithResponses) PostApiV5AccountSetPositionModeWithResponse(ctx context.Context, body PostApiV5AccountSetPositionModeJSONRequestBody, reqEditors ...RequestEditorFn) (*PostApiV5AccountSetPositionModeResponse, error) {
rsp, err := c.PostApiV5AccountSetPositionMode(ctx, body, reqEditors...)
if err != nil {
return nil, err
}
return ParsePostApiV5AccountSetPositionModeResponse(rsp)
}
// GetApiV5AccountTradeFeeWithResponse request returning *GetApiV5AccountTradeFeeResponse
func (c *ClientWithResponses) GetApiV5AccountTradeFeeWithResponse(ctx context.Context, params *GetApiV5AccountTradeFeeParams, reqEditors ...RequestEditorFn) (*GetApiV5AccountTradeFeeResponse, error) {
rsp, err := c.GetApiV5AccountTradeFee(ctx, params, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetApiV5AccountTradeFeeResponse(rsp)
}
// ParseGetApiV5AccountAccountPositionRiskResponse parses an HTTP response from a GetApiV5AccountAccountPositionRiskWithResponse call
func ParseGetApiV5AccountAccountPositionRiskResponse(rsp *http.Response) (*GetApiV5AccountAccountPositionRiskResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountAccountPositionRiskResponse{
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
}
// ParseGetApiV5AccountBalanceResponse parses an HTTP response from a GetApiV5AccountBalanceWithResponse call
func ParseGetApiV5AccountBalanceResponse(rsp *http.Response) (*GetApiV5AccountBalanceResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountBalanceResponse{
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
}
// ParseGetApiV5AccountBillsResponse parses an HTTP response from a GetApiV5AccountBillsWithResponse call
func ParseGetApiV5AccountBillsResponse(rsp *http.Response) (*GetApiV5AccountBillsResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountBillsResponse{
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
}
// ParseGetApiV5AccountBillsArchiveResponse parses an HTTP response from a GetApiV5AccountBillsArchiveWithResponse call
func ParseGetApiV5AccountBillsArchiveResponse(rsp *http.Response) (*GetApiV5AccountBillsArchiveResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountBillsArchiveResponse{
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
}
// ParseGetApiV5AccountConfigResponse parses an HTTP response from a GetApiV5AccountConfigWithResponse call
func ParseGetApiV5AccountConfigResponse(rsp *http.Response) (*GetApiV5AccountConfigResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountConfigResponse{
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
}
// ParseGetApiV5AccountInterestAccruedResponse parses an HTTP response from a GetApiV5AccountInterestAccruedWithResponse call
func ParseGetApiV5AccountInterestAccruedResponse(rsp *http.Response) (*GetApiV5AccountInterestAccruedResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountInterestAccruedResponse{
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
}
// ParseGetApiV5AccountInterestRateResponse parses an HTTP response from a GetApiV5AccountInterestRateWithResponse call
func ParseGetApiV5AccountInterestRateResponse(rsp *http.Response) (*GetApiV5AccountInterestRateResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountInterestRateResponse{
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
}
// ParseGetApiV5AccountLeverageInfoResponse parses an HTTP response from a GetApiV5AccountLeverageInfoWithResponse call
func ParseGetApiV5AccountLeverageInfoResponse(rsp *http.Response) (*GetApiV5AccountLeverageInfoResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountLeverageInfoResponse{
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
}
// ParseGetApiV5AccountMaxAvailSizeResponse parses an HTTP response from a GetApiV5AccountMaxAvailSizeWithResponse call
func ParseGetApiV5AccountMaxAvailSizeResponse(rsp *http.Response) (*GetApiV5AccountMaxAvailSizeResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountMaxAvailSizeResponse{
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
}
// ParseGetApiV5AccountMaxLoanResponse parses an HTTP response from a GetApiV5AccountMaxLoanWithResponse call
func ParseGetApiV5AccountMaxLoanResponse(rsp *http.Response) (*GetApiV5AccountMaxLoanResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountMaxLoanResponse{
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
}
// ParseGetApiV5AccountMaxSizeResponse parses an HTTP response from a GetApiV5AccountMaxSizeWithResponse call
func ParseGetApiV5AccountMaxSizeResponse(rsp *http.Response) (*GetApiV5AccountMaxSizeResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountMaxSizeResponse{
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
}
// ParseGetApiV5AccountMaxWithdrawalResponse parses an HTTP response from a GetApiV5AccountMaxWithdrawalWithResponse call
func ParseGetApiV5AccountMaxWithdrawalResponse(rsp *http.Response) (*GetApiV5AccountMaxWithdrawalResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountMaxWithdrawalResponse{
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
}
// ParsePostApiV5AccountPositionMarginBalanceResponse parses an HTTP response from a PostApiV5AccountPositionMarginBalanceWithResponse call
func ParsePostApiV5AccountPositionMarginBalanceResponse(rsp *http.Response) (*PostApiV5AccountPositionMarginBalanceResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &PostApiV5AccountPositionMarginBalanceResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5AccountPositionsResponse parses an HTTP response from a GetApiV5AccountPositionsWithResponse call
func ParseGetApiV5AccountPositionsResponse(rsp *http.Response) (*GetApiV5AccountPositionsResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountPositionsResponse{
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
}
// ParsePostApiV5AccountSetGreeksResponse parses an HTTP response from a PostApiV5AccountSetGreeksWithResponse call
func ParsePostApiV5AccountSetGreeksResponse(rsp *http.Response) (*PostApiV5AccountSetGreeksResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &PostApiV5AccountSetGreeksResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParsePostApiV5AccountSetLeverageResponse parses an HTTP response from a PostApiV5AccountSetLeverageWithResponse call
func ParsePostApiV5AccountSetLeverageResponse(rsp *http.Response) (*PostApiV5AccountSetLeverageResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &PostApiV5AccountSetLeverageResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParsePostApiV5AccountSetPositionModeResponse parses an HTTP response from a PostApiV5AccountSetPositionModeWithResponse call
func ParsePostApiV5AccountSetPositionModeResponse(rsp *http.Response) (*PostApiV5AccountSetPositionModeResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &PostApiV5AccountSetPositionModeResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest struct {
AdditionalProperties map[string]map[string]interface{} `json:"-"`
}
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParseGetApiV5AccountTradeFeeResponse parses an HTTP response from a GetApiV5AccountTradeFeeWithResponse call
func ParseGetApiV5AccountTradeFeeResponse(rsp *http.Response) (*GetApiV5AccountTradeFeeResponse, error) {
bodyBytes, err := ioutil.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetApiV5AccountTradeFeeResponse{
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/+x823MTR/b/v6Ka39uWLHdPz9VvhpAsVeQXF5jNw25qNUiDUaJbpDGBTblKBoxlsDEX",
"2xBjY0wMmJvtbAjIkhz/MZkeSU/+F77V3TOj0UiyJSNy2fKTpL6ePqfPOZ8+3Uffc5FUIp1K6kkjyw18",
"PxbkYsnzKW7gey6qZyOZWNqIpZLcAPf/AubObmVuvbr51npwK/CvZOBfowCgyDn6oVc3n+IbK9WrO9at",
"p3j2x8rcupV/X1vK4Yl85YdS7Yfre+VpVoVnX5rlxerme+unK9b6qnVzpXJrEz+5yobrt8ezB8+0+vW3",
"IS2jJXRDz2T/FqgtP7GWd83Cm8qVbTxZCg9nLgdiRiA1aoSt6ana3Y298nSlvFD99Q6bEs9esea3SCFr",
"f+KSHhk1dLsxnr1Ty42zlr/lrvzttJ5Np5JZ3TuRtfK0snSTtamU7lmPln7LXWmkkAtyRsyI69wAd/rE",
"meHA4NBJLshd1DNZxsyLIjcW5FJpPamlY9wAh0IgBLkgl9aMC0QKXL+WjvVfFPu1SCQ1mjScz750Khsj",
"AunLxLLfkIYjukE+Umk9o5GKk1FugPtMNwbTsX+Ig6yX/TFk9z1NupK5HCZyA//0S9ssPsf3xis/lfCj",
"m41LC58Z+mI4vFdexIVxXBj3VX4+ePqzk/+/Xm0tP7aWr/tH+HJwiDSxtgqV0ht8O18pPvM1+fTs8NnT",
"J86QVmZxDU/9t2WrL4aGT35BZ7OWVqzlqxzZvNwA9+2onrnMBbmkliAiiCWzxvDlNJFKNnJBT2iEYwYp",
"GOCyRiaWHOHGxr4KchlH2KSeB4B8RFJJQ09SHmvpdDwWoVzu/zpL2PS9Zzz9kpZIE4mTPlEyNOCCXFQz",
"NMpeLfr1iW+5AQ7KAo+UkCSrSBJUGUKEoCSrXJA7p8U/cVpHIpe5Ae7Y8HEyRCxLe8qKIkghWQFI5iHg",
"IZJ4XuC5IKfTcUNIkZCIEJJUAaoSkrixoDPQ2TOfDHtHQgKUQ7ygihDyioQQAJCXnZFkhHgUQqooSoIq",
"ISjLUJA4wp90Kuuj0B6YMJhuvGPDx/tIWR8PgQhku2qYsdqWKRfkEiPJzxmPIplUNksklSJs1eLH6bAg",
"pCqewrNZMrYoKkAKKQoUVEiWnU5luQGONkynsqwj+05JQRAIPJJUURURhAiogFWeidGJk7pB10SMHgcl",
"HvAKrygqEkRanMiOkOHGgs4+SZ37Wo8Y3NjYWNCnKlb+Nr6xwpGK7GgioWUIIbaNePvMyr+3psfN0r3a",
"j7dqP7wghkEbIRrH2VrJfUV6+vX9nBbXkhG9Uw0/Zjc/QKtxYbzyfGavPI2fXdkrL4aPDR8Pt9EZIt8/",
"g7oASVYlRQkBQQIigpKAgMqLMtlaUd3QYnG2Tu2iFosf0+JsD9BftL+qIoBENaSqdKNEtOwF1spf4d3O",
"dFOeimnnHKpsvVEFpMpIDgFZ5lVVFaHg6IxvNP1btmVVFSEgwBBUJVVVVUHigtz5TOo/epIRASjzDT2j",
"Zw3nZzZF57K/e6iIZVNn006veL08oV06ldKSlFkAAKZepwnfGTMcLTqlX9QzrCiViX5KybCHyBojl91Z",
"je+0tP11dDhGNwPRD5nnVaTwIi136RhNx10Sib1pJweEiMlTZShAUYGqKlDe1cWBUIgHQFUV0RUGs37t",
"ZAF5pKoiCKmSIouIh7zq7gvdnlCWocIDiRchkgCPPHLZp3ODeEJAhYqg8kBFUAIKlHosL0FEIZXnFWKi",
"BBWJqvA7Si8kykDheejhT4M0vwpysUSGslLmQ7wq8EgmVl1UBR7KvqV7iJYBksUQEgWgyIIMaNMEHQgi",
"IaSoUJZUQRF4wAtNNp5MxYc8U8mKoij1NTuLTBka21cQQqKLfAhKoiwiKCp1UXrWj5DKIyTIUOmJda/e",
"eo9nF5h1Nwtvqr9cq03eMXd+qD1ZNndXrfHNjs18LB7PdmzkaeMj4ObzRMGP6OWaxjZL98ydmZbsjWVT",
"cc3Qo2RVtdxts3QvEKbWizJ1Yt0s3WtDhQOHulsl5WtLSuKxpK5lKHff/Ihv32FNA+FYkpxAdErP7Ixb",
"0djbLE0wwfUzKVtLU9Z8vh3/DiGe6ttneGa+FeGQEJa/W915HeDZ/rEe3AsgdysFhL3yYnXyJb6xbs08",
"wYXxgEh6lIt4++eARJrtLlc3x2uTd+xRZMKCqR+t8c2AQrpSPa2+3Q6o7kB4cpZICoK98mLlxa5Zuldd",
"fYrHdwOQUFP5uVQprdiTQUJU5c1CZf4pzt+1bq63YYrR/Y59c3t/rpjbW3jiKeUKnlnAk0XKFVzO4bVF",
"yhVczlVeFBk/tn8mpRL7SkrVOhvoqqo7r8lodD3k+2QxACVAG93EN9aruzv4xmOXlwEoQbcOT87irTve",
"Ot5lZVM/6JeXvQwIRV+FvSgIFR/THVKh2qKC9ADA3gKTs/bCIYDeIsIACHi3yKEBoHore3YguNvJHUv0",
"FrGxJLfIHUuut3JWAtwi30pgiwrSgxd9m9KhgZeaKyglvOyrcOjhFX8PmyqZUpXfspZWqqvT1vLVAJRh",
"vejJK7eUd0vNnSVcXAlAyNdtuk0ZRN4iShOU3aJ+ZtsbtUpGXkW05jYZXUJj6Tu62wEYYCK3eccDOGBv",
"UaeA97SYLAZ4gDwtJottNDQ7eu4QdotFrN6snfzE3L6Jp2b2ynnr4Vvr/vPK4jVrfsua2dgrT1UWr+H8",
"9drqL/j6BN7Y3itPm+XHpDBXNgtFvLmNi3N2iGzxWpj4/5PRdt5JO2/omQ8i8vYtm8iFrY9F5Dn9fCrT",
"LSt35/DDRyx2xuiqTc7uladrpQfVjTUIgLW82ma6eCwRM/7Ik+k552gAAFCgioCsqgqkx75zWvz4BYIs",
"+yRJCPGSrIqKJJKTn6oAnjSgnGTBCaQKCCJREFRJgiL0n0HP687M5zOpBAP+bpjllB1maYyvEHzXLrhC",
"WGGfHXwEQFUBAPE0OpJ0jivpVLZ+QmU/2MroecPWngGOrClLQLlnvRLF52y2enBFFmUZQpVWOn17gsSp",
"27R+Gbe23lorT6ubT/bK+eruHbNwFa+92CtPdYXE+7RM5ELsot4VIh+0+xwB8yNgfgTMj4D5ETA/AuZH",
"wPwImB8B8yNgfgTMm4H5lLWU7wKYR1LJ87GRThH5cdb6I19ORiLGqYs2m7VRI8Xuc4zMqB7kRjK6/k3W",
"lsOxM1yQi+sXdSKy+EXo/BpOpN3bantPxFPJkX9nL6Qyxr8TDHOOxsgCBaRAvud30rWJmcrORqcycO68",
"+rRIJDOqRzuVxkm736DdraMj0slPGk4IVJ+IjXOF4r4y2OdwcjLa5fHBAUfW+iouzx7qBFEn0NHv3p0p",
"PuLJiWknXlq33qwx/0kcjuN/mOex7r+r3X9r5X/eK0+fTcYuub9J3earyvO7xIU9LuPybO9cpp+w27c+",
"BmGHcZPMR9vOcvEa85e1h9ddf2kt5fDac7NQpDB42izM4NVXzImyXn9uV7r/4x7fJXiIelCn5LRm6K4b",
"hvWbb76lA2R+SFRlwEtIQUARm18t/d7z9+5+eGPVGt+sbmzhnfmuLW2GrqM7M0vX/j/zBMj7CqSVdKFn",
"q5xq2wr1UKDsUSveuYenZlgYDudWyCE5/6Jya7JTERMAkNFG9D7nnW0nIj5ldzpJ+hzajfbROGGjc7Pm",
"Nq3pcby26HRz0ZpZmKm+m6juTvLALLzcK0+RAWduVJ/freXu49n3xAouzrX0zHSig9xzRv92NJYhaIIh",
"p565a59rDrTw34dw152T+5EVo/m1pc3tuP1GCIKWxq7++JFgTao9Hz4URaw91DFHr2as+a1ONSqhXeqj",
"T836srH/dGw1P9cuDZJOZ0ifwyPTrrVJ7FaZPqYe0UjuYZUoEI5o2Qv09/IjVyUbVUvLXmgXjY12rVjt",
"7YDr1szSRC13pTK3bhZv4Zl5Vu4zF2bhJkGSdF1sv1U3nuCZ+Z4h6geb+PYzs1DEsy9ZmI/N6yMv7L3Q",
"aeeEM3p0NKJ/kYy3pOFcKhXXteTv8B6XvuscJXoKVR6FFKRAgRdUHokSz0vQeex5Ro/H6Wt0AEUkE/8r",
"AgEoSGkJ5HpoNijgxrObxEdTFN6N8YjT83vHZoMe93/ns+yHKEn7q7FuPaVT3UNn2YFOe6BqI/1eBXKV",
"3dbrqxP4+i9m4SbenaitlqzpSbyx6Bu6/SqO/5mgb/Pxp/6EmKUN2RTTiFLdWXuElbWdNdHOjg5Y3hn4",
"LmY4N3q5h1rN3BNTJVfDcW6lG93uEhIcoYEjNNBbNICfz1lTD8zSe+tx2We+du6xyFC9yf13ZnnRmp6y",
"D5lLOWthy8rfNotrZul9dWO1snG/aQxm28guK7wMs30QZhvNuv+ObKzdncr80+rmUzf1cf8J2iw8felP",
"bhIZPAEhIAIgqSJQFZEmELBaG5lIQkiQVUWSoSgDIPO8pH4MGGJub+GZhX5czpFd1TUg+S5mXIhmtO+0",
"eBem68t6p8MFgRqMzZ8/KJTQLn0ZZWlPvc/ZcwRZ3XnNEjs6FZ+Toduf0DIjsWSfJ5Mvncq2EORQKtsg",
"SSdN93Pav57ZRwyjnjWOpaKXO+Coh49awiBcapmnaR/3faEBl4NaNEr4WRdPOkOIN2JMuHTkps21O4FX",
"X/ms1JNH+MZjK7/AnqlUFq/VjbCjHPXdV5/f2VZ10juZ7aAA2IGTuezoZDaW3mktbOPbd9yrcpwrWw82",
"w0ndCPvfgKWSI+yh1zS+fYd1xmuLeO2tryGNrPhbVl4Um1uSWegDpHm33YFLZAWdy67f98DIR4IWpUiA",
"tQ2E2amVltBuB5Az5nX7/6xjGUcOdoevWmp2I2AY+0D7o0WjMZaRNtSw1X0TBw88MH+g0vXCJW1dtebf",
"epFYVwas47y0IbfD0RPYgyF210eHwku2g5rPDvCAuHyvLseZSaFEe8mimfbd3Bbgqf+2w5Y0af8PzTeP",
"2+pKw1hD9L8F2M+RoUvcAMeLkhRC9DWQm1YKVRHIsqjIKnJfCZ0Y/jtNTY8b2rEzzNjRH0OD7MeIlki4",
"NfSHU8OSbb0G48Tw38nW6OMhEBBo92cKvoTkuEa/Unp53h/Kt29D7W/ukT4e+5atEol8SBFUSVKgAhUe",
"IYqzCBBxL9QUVZIEEcmy6qQrN0cDPOnAEIZkBGVeEoEqKgpLomb5wOySFkGoQAhUHknNf/rA87IU4kVB",
"koAKgCoBkQtyqbTxDyfFPO2ThgQFqf7vELDdn0MAGcoIIAmIEEBZRqClPb6g16VIfziyMjJaVD/JwKeq",
"CEJDtnEjISzbuo+tFQBVRbwsSQAJrM5hE23Ai4IKRFFSAASyQv8xZsQlgHxn8/cO7DLN7i5nOasbfeyR",
"U+eY9oxufMa6fACObXhZNTS4HzD1Nm0+/ExXJ27gN/etzRn803xlrUiwW1PEY2jQdjjW0mtzhxyWwseo",
"66j8egtPXGWlB0IZDyF/JfTSxOpe7DjqTb3cHxrsP3YG5yetmSfdbD7nAr2r7edcoB92A1I2Qsptd0UE",
"jWxu45+u1Jaf9FU3fq3sbLBQmPcSc6+c96IW9vLxohYfpfS3CmU4BltsbV0JW/gDCdkn2uUNdfWWRnY9",
"TAhETQRWns80EFh9v94rAr1BgYMIE3yEUQTYyDlWRI9kzeLclzH+23OxnX/0X8WPBTmxkTBretKa32pB",
"mC9W+cFUOazZx5pS/jaZ0dnNWm7Kd/DeNwDbTuLuihovRH/LXekqENCKHhdtLzIV+S033hLz21FTfHc6",
"HIlcDlcnf8Zbd6rPxs3yY7OQo3j2IX52xXq0ZBbWzMLL2tUds/zYPe2zf8ZzoXUTzTbnO4om+N4/+Idy",
"BfehL1iJQ/NF9X3nfrpeyg+WamaWH+Ncea887YaSca6MZ19Wr+6YhaI9WBuptY+otBCbN6Lyh0RPfIxY",
"WvcOYhbmmkxW0TEUq2bpHbt0xKuv6MvPObM0wRZp3XzB6LfyCy5903jinVlacK8ra8uP3M5sc9kEPmx4",
"OtCQCRg+EIbUL2bZVvwrYZED7RkCnZrZXgRVqCk+zCslAl3cv29M2DrcMX5xo8L1W7KeYBjbtXj2t9eX",
"tE9PaIFC6sBj/6GSujvGPk7Hbd86GtESs/uI9Kt/s+LXm7WLnTanZeyvaQ7ZfyUN20fKvdMYJjVqLzvV",
"GHrK7qMJV51FIodJh0/1/91c/Pq+tHPKDohMftBjgA4jlV6/5ExtFoqMQ/1eRn3sJB7GRevxZGXxGsPP",
"TcTvQ3vYIT5M0AyTS7g/bLvY/jATQrt3eqPxy4dJ6bGmblZKb6pvt8lmzL9qTjCvvH5tFnKklrYnLW9N",
"0nxzUlOc9tcgp8+Uv0ZgNfjhQ19Nu5tezdBHUpk/9rrXoYGF8qJ6PHZRz9jBPP2SnonEsno9atqYb+nk",
"3Z2ieXcJ7RuKFlgkTqE2yFMC61mRCMoSlETA8718GsAeXNj/Gcge2jiyd8XQwiqOuaUt/q7Byr+vy8vp",
"NPbV2P8FAAD//379QwTUWwAA",
}
// 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
}