Documentation
¶
Index ¶
- func AmountToLotSize(lot float64, precision int, amount float64) float64
- func FormatTimestamp(t time.Time) int64
- func IsAPIError(e error) bool
- func MapHasAllKeys(m map[string]interface{}, keys ...string) bool
- func MapHasKeys(m map[string]interface{}, keys ...string) bool
- func ToJSONList(v []byte) []byte
- type APIError
- type Client
- type DefaultLogger
- type DoFunc
- type LogLevel
- type Logger
- type MockWebsocketSession
- type Params
- type PriceLevel
- type PriceLevelArray
- type Printf
- type Request
- func NewDeleteRequest(endpoint string, secType SecType) *Request
- func NewDeleteRequestAPIKey(endpoint string) *Request
- func NewDeleteRequestSigned(endpoint string) *Request
- func NewGetRequest(endpoint string, secType SecType) *Request
- func NewGetRequestAPIKey(endpoint string) *Request
- func NewGetRequestPublic(endpoint string) *Request
- func NewGetRequestSigned(endpoint string) *Request
- func NewPostRequest(endpoint string, secType SecType) *Request
- func NewPostRequestAPIKey(endpoint string) *Request
- func NewPostRequestSigned(endpoint string) *Request
- func NewPutRequest(endpoint string, secType SecType) *Request
- func NewPutRequestAPIKey(endpoint string) *Request
- func NewPutRequestSigned(endpoint string) *Request
- func NewRequest(method, endpoint string, secType SecType) *Request
- func (r *Request) AddQuery(key string, value interface{}) *Request
- func (r *Request) SetForm(key string, value interface{}) *Request
- func (r *Request) SetFormParams(m Params) *Request
- func (r *Request) SetQuery(key string, value interface{}) *Request
- func (r *Request) SetQueryParams(m Params) *Request
- func (r *Request) Validate() (err error)
- type RequestOption
- type SecType
- type WebsocketClient
- type WebsocketMessageCallback
- type WebsocketReply
- type WebsocketRequest
- type WebsocketSession
- type WebsocketSessionHandler
- type WebsocketSessionMessageCallback
- type WebsocketSessionMessageChecker
- type WebsocketSessionMessageFactory
- type WebsocketSubscribe
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AmountToLotSize ¶
AmountToLotSize converts an amount to a lot sized amount
func FormatTimestamp ¶ added in v2.3.2
FormatTimestamp formats a time into Unix timestamp in milliseconds, as requested by Binance.
func MapHasAllKeys ¶ added in v2.3.2
func MapHasKeys ¶ added in v2.3.2
Types ¶
type APIError ¶
type APIError struct {
Status int `json:"status"`
Code int64 `json:"code"`
Message string `json:"msg"`
}
APIError define API error when response status is 4xx or 5xx
type Client ¶ added in v2.3.2
type Client interface {
GetTimeOffset() int64
UpdateTimeOffset(offset int64)
UpdateDoFunc(f DoFunc)
UpdateHTTPClient(hc *http.Client)
CallAPIBytes(ctx context.Context, r *Request, opts ...RequestOption) (data []byte, err error)
CallAPI(ctx context.Context, r *Request, result interface{}, opts ...RequestOption) (err error)
}
type DefaultLogger ¶ added in v2.3.2
type DefaultLogger struct {
// contains filtered or unexported fields
}
func NewDefaultLogger ¶ added in v2.3.2
func NewDefaultLogger(level LogLevel, p Printf) *DefaultLogger
func (*DefaultLogger) Debugw ¶ added in v2.3.2
func (d *DefaultLogger) Debugw(msg string, keyAndValues ...interface{})
func (*DefaultLogger) Infow ¶ added in v2.3.2
func (d *DefaultLogger) Infow(msg string, keyAndValues ...interface{})
func (*DefaultLogger) SetLevel ¶ added in v2.3.2
func (d *DefaultLogger) SetLevel(level LogLevel)
func (*DefaultLogger) Warningw ¶ added in v2.3.2
func (d *DefaultLogger) Warningw(msg string, keyAndValues ...interface{})
type MockWebsocketSession ¶ added in v2.3.2
type MockWebsocketSession interface {
WebsocketSession
MockProcessMessage(data []byte) error
}
func NewMockWebsocketSession ¶ added in v2.3.2
func NewMockWebsocketSession(handler WebsocketSessionHandler) MockWebsocketSession
type PriceLevel ¶
PriceLevel is a common structure for bids and asks in the order book.
type PriceLevelArray ¶ added in v2.3.2
type PriceLevelArray []string
type Request ¶ added in v2.3.2
type Request struct {
ID uint64
Method string
Endpoint string
SecType SecType
Query url.Values
Form url.Values
RecvWindow int64
Header http.Header
}
Request define an API Request
func NewDeleteRequest ¶ added in v2.3.2
func NewDeleteRequestAPIKey ¶ added in v2.3.2
func NewDeleteRequestSigned ¶ added in v2.3.2
func NewGetRequest ¶ added in v2.3.2
func NewGetRequestAPIKey ¶ added in v2.3.2
func NewGetRequestPublic ¶ added in v2.3.2
func NewGetRequestSigned ¶ added in v2.3.2
func NewPostRequest ¶ added in v2.3.2
func NewPostRequestAPIKey ¶ added in v2.3.2
func NewPostRequestSigned ¶ added in v2.3.2
func NewPutRequest ¶ added in v2.3.2
func NewPutRequestAPIKey ¶ added in v2.3.2
func NewPutRequestSigned ¶ added in v2.3.2
func NewRequest ¶ added in v2.3.2
func (*Request) SetFormParams ¶ added in v2.3.2
SetFormParams set Params with key/values to Request form body
func (*Request) SetQueryParams ¶ added in v2.3.2
SetQueryParams set Params with key/values to query string
type RequestOption ¶ added in v2.3.2
type RequestOption func(*Request)
RequestOption define option type for Request
func WithHeader ¶ added in v2.3.2
func WithHeader(key, value string, replace bool) RequestOption
WithHeader set or add a Header value to the Request
func WithHeaders ¶ added in v2.3.2
func WithHeaders(header http.Header) RequestOption
WithHeaders set or replace the headers of the Request
func WithRecvWindow ¶ added in v2.3.2
func WithRecvWindow(recvWindow int64) RequestOption
WithRecvWindow set recvWindow param for the Request
type WebsocketClient ¶ added in v2.3.2
type WebsocketClient interface {
Loop(f WebsocketMessageCallback) error
Delay() time.Duration
Ping()
Write(data []byte)
}
func WebsocketDial ¶ added in v2.3.2
func WebsocketDialProxy ¶ added in v2.3.2
type WebsocketMessageCallback ¶ added in v2.3.2
type WebsocketMessageCallback func(messageType websocket.MessageType, data []byte) error
type WebsocketReply ¶ added in v2.3.2
type WebsocketReply struct {
ID uint64 `json:"id"`
Code int64 `json:"code"`
Message string `json:"msg"`
Result interface{}
}
func (*WebsocketReply) OK ¶ added in v2.3.2
func (wsr *WebsocketReply) OK() error
type WebsocketRequest ¶ added in v2.3.2
type WebsocketSession ¶ added in v2.3.2
type WebsocketSession interface {
// Loop hold this websocket connection until the connection disconnected or got error
// from message processor. return error same as SessionHandler.OnClose function.
Loop() (err error)
// RunLoop create new go routine and call IOLoop function.
RunLoop() chan error
Subscribe(ctx context.Context, streams ...string) (reply *WebsocketReply, err error)
SubscribeNoReply(ctx context.Context, streams ...string) (err error)
RegisterMessageHandler(factory WebsocketSessionMessageFactory, callback WebsocketSessionMessageCallback,
checker ...WebsocketSessionMessageChecker)
RequireMapHasAllKeys(keys ...string) WebsocketSessionMessageChecker
RequireMapKeyValue(key, value string) WebsocketSessionMessageChecker
}
func NewWebsocketSession ¶ added in v2.3.2
func NewWebsocketSession(client WebsocketClient, handler WebsocketSessionHandler) WebsocketSession
type WebsocketSessionHandler ¶ added in v2.3.2
type WebsocketSessionMessageCallback ¶ added in v2.3.2
type WebsocketSessionMessageCallback func(m interface{})
func WebsocketSessionMessageHandlerBuild ¶ added in v2.3.2
func WebsocketSessionMessageHandlerBuild[T any](f func(*T)) WebsocketSessionMessageCallback
type WebsocketSessionMessageChecker ¶ added in v2.3.2
type WebsocketSessionMessageChecker func(m interface{}) bool
type WebsocketSessionMessageFactory ¶ added in v2.3.2
type WebsocketSessionMessageFactory func() interface{}
func WebsocketSessionMessageFactoryBuild ¶ added in v2.3.2
func WebsocketSessionMessageFactoryBuild[T any]() WebsocketSessionMessageFactory
type WebsocketSubscribe ¶ added in v2.3.2
func NewWebsocketSubscribe ¶ added in v2.3.2
func NewWebsocketSubscribe(wsc WebsocketClient) WebsocketSubscribe
Click to show internal directories.
Click to hide internal directories.