github.com/vmpartner/bitmex@v1.1.0/swagger/stats_api.go (about)

     1  /* 
     2   * BitMEX API
     3   *
     4   * ## REST API for the BitMEX Trading Platform  [View Changelog](/app/apiChangelog)    #### Getting Started   ##### Fetching Data  All REST endpoints are documented below. You can try out any query right from this interface.  Most table queries accept `count`, `start`, and `reverse` params. Set `reverse=true` to get rows newest-first.  Additional documentation regarding filters, timestamps, and authentication is available in [the main API documentation](https://www.bitmex.com/app/restAPI).  *All* table data is available via the [Websocket](/app/wsAPI). We highly recommend using the socket if you want to have the quickest possible data without being subject to ratelimits.  ##### Return Types  By default, all data is returned as JSON. Send `?_format=csv` to get CSV data or `?_format=xml` to get XML data.  ##### Trade Data Queries  *This is only a small subset of what is available, to get you started.*  Fill in the parameters and click the `Try it out!` button to try any of these queries.  * [Pricing Data](#!/Quote/Quote_get)  * [Trade Data](#!/Trade/Trade_get)  * [OrderBook Data](#!/OrderBook/OrderBook_getL2)  * [Settlement Data](#!/Settlement/Settlement_get)  * [Exchange Statistics](#!/Stats/Stats_history)  Every function of the BitMEX.com platform is exposed here and documented. Many more functions are available.  ##### Swagger Specification  [⇩ Download Swagger JSON](swagger.json)    ## All API Endpoints  Click to expand a section. 
     5   *
     6   * OpenAPI spec version: 1.2.0
     7   * Contact: support@bitmex.com
     8   * Generated by: https://github.com/swagger-api/swagger-codegen.git
     9   */
    10  
    11  package swagger
    12  
    13  import (
    14  	"net/url"
    15  	"net/http"
    16  	"strings"
    17  	"golang.org/x/net/context"
    18  	"encoding/json"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ context.Context
    24  )
    25  
    26  type StatsApiService service
    27  
    28  /* StatsApiService Get exchange-wide and per-series turnover and volume statistics.
    29  
    30   @return []Stats*/
    31  func (a *StatsApiService) StatsGet() ([]Stats, *http.Response, error) {
    32  	var (
    33  		localVarHttpMethod = strings.ToUpper("Get")
    34  		localVarPostBody   interface{}
    35  		localVarFileName   string
    36  		localVarFileBytes  []byte
    37  		successPayload     []Stats
    38  	)
    39  
    40  	// create path and map variables
    41  	localVarPath := a.client.cfg.BasePath + "/stats"
    42  
    43  	localVarHeaderParams := make(map[string]string)
    44  	localVarQueryParams := url.Values{}
    45  	localVarFormParams := url.Values{}
    46  
    47  	// to determine the Content-Type header
    48  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
    49  
    50  	// set Content-Type header
    51  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    52  	if localVarHttpContentType != "" {
    53  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    54  	}
    55  
    56  	// to determine the Accept header
    57  	localVarHttpHeaderAccepts := []string{
    58  		"application/json",
    59  		"application/xml",
    60  		"text/xml",
    61  		"application/javascript",
    62  		"text/javascript",
    63  	}
    64  
    65  	// set Accept header
    66  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    67  	if localVarHttpHeaderAccept != "" {
    68  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    69  	}
    70  	r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    71  	if err != nil {
    72  		return successPayload, nil, err
    73  	}
    74  
    75  	localVarHttpResponse, err := a.client.callAPI(r)
    76  	if err != nil || localVarHttpResponse == nil {
    77  		return successPayload, localVarHttpResponse, err
    78  	}
    79  	defer localVarHttpResponse.Body.Close()
    80  	if localVarHttpResponse.StatusCode >= 300 {
    81  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
    82  	}
    83  
    84  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
    85  		return successPayload, localVarHttpResponse, err
    86  	}
    87  
    88  	return successPayload, localVarHttpResponse, err
    89  }
    90  
    91  /* StatsApiService Get historical exchange-wide and per-series turnover and volume statistics.
    92  
    93   @return []StatsHistory*/
    94  func (a *StatsApiService) StatsHistory() ([]StatsHistory, *http.Response, error) {
    95  	var (
    96  		localVarHttpMethod = strings.ToUpper("Get")
    97  		localVarPostBody   interface{}
    98  		localVarFileName   string
    99  		localVarFileBytes  []byte
   100  		successPayload     []StatsHistory
   101  	)
   102  
   103  	// create path and map variables
   104  	localVarPath := a.client.cfg.BasePath + "/stats/history"
   105  
   106  	localVarHeaderParams := make(map[string]string)
   107  	localVarQueryParams := url.Values{}
   108  	localVarFormParams := url.Values{}
   109  
   110  	// to determine the Content-Type header
   111  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   112  
   113  	// set Content-Type header
   114  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   115  	if localVarHttpContentType != "" {
   116  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   117  	}
   118  
   119  	// to determine the Accept header
   120  	localVarHttpHeaderAccepts := []string{
   121  		"application/json",
   122  		"application/xml",
   123  		"text/xml",
   124  		"application/javascript",
   125  		"text/javascript",
   126  	}
   127  
   128  	// set Accept header
   129  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   130  	if localVarHttpHeaderAccept != "" {
   131  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   132  	}
   133  	r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   134  	if err != nil {
   135  		return successPayload, nil, err
   136  	}
   137  
   138  	localVarHttpResponse, err := a.client.callAPI(r)
   139  	if err != nil || localVarHttpResponse == nil {
   140  		return successPayload, localVarHttpResponse, err
   141  	}
   142  	defer localVarHttpResponse.Body.Close()
   143  	if localVarHttpResponse.StatusCode >= 300 {
   144  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   145  	}
   146  
   147  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   148  		return successPayload, localVarHttpResponse, err
   149  	}
   150  
   151  	return successPayload, localVarHttpResponse, err
   152  }
   153  
   154  /* StatsApiService Get a summary of exchange statistics in USD.
   155  
   156   @return []StatsUsd*/
   157  func (a *StatsApiService) StatsHistoryUSD() ([]StatsUsd, *http.Response, error) {
   158  	var (
   159  		localVarHttpMethod = strings.ToUpper("Get")
   160  		localVarPostBody   interface{}
   161  		localVarFileName   string
   162  		localVarFileBytes  []byte
   163  		successPayload     []StatsUsd
   164  	)
   165  
   166  	// create path and map variables
   167  	localVarPath := a.client.cfg.BasePath + "/stats/historyUSD"
   168  
   169  	localVarHeaderParams := make(map[string]string)
   170  	localVarQueryParams := url.Values{}
   171  	localVarFormParams := url.Values{}
   172  
   173  	// to determine the Content-Type header
   174  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   175  
   176  	// set Content-Type header
   177  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   178  	if localVarHttpContentType != "" {
   179  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   180  	}
   181  
   182  	// to determine the Accept header
   183  	localVarHttpHeaderAccepts := []string{
   184  		"application/json",
   185  		"application/xml",
   186  		"text/xml",
   187  		"application/javascript",
   188  		"text/javascript",
   189  	}
   190  
   191  	// set Accept header
   192  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   193  	if localVarHttpHeaderAccept != "" {
   194  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   195  	}
   196  	r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   197  	if err != nil {
   198  		return successPayload, nil, err
   199  	}
   200  
   201  	localVarHttpResponse, err := a.client.callAPI(r)
   202  	if err != nil || localVarHttpResponse == nil {
   203  		return successPayload, localVarHttpResponse, err
   204  	}
   205  	defer localVarHttpResponse.Body.Close()
   206  	if localVarHttpResponse.StatusCode >= 300 {
   207  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   208  	}
   209  
   210  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   211  		return successPayload, localVarHttpResponse, err
   212  	}
   213  
   214  	return successPayload, localVarHttpResponse, err
   215  }