diff --git a/examples/okex-book/main.go b/examples/okex-book/main.go index e6e7341cc..80591eb74 100644 --- a/examples/okex-book/main.go +++ b/examples/okex-book/main.go @@ -44,10 +44,8 @@ var rootCmd = &cobra.Command{ return errors.New("empty key, secret or passphrase") } - client, err := okexapi.NewClient() - if err != nil { - return errors.New("init client error: please check url") - } + client := okexapi.NewClient() + client.Auth(key, secret, passphrase) instruments, err := client.NewGetInstrumentsRequest(). diff --git a/pkg/exchange/okex/exchange.go b/pkg/exchange/okex/exchange.go index 92e322116..06b5889b4 100644 --- a/pkg/exchange/okex/exchange.go +++ b/pkg/exchange/okex/exchange.go @@ -35,10 +35,7 @@ type Exchange struct { } func New(key, secret, passphrase string) (*Exchange, error) { - client, err := okexapi.NewClient() - if err != nil { - return nil, err - } + client := okexapi.NewClient() if len(key) > 0 && len(secret) > 0 { client.Auth(key, secret, passphrase) diff --git a/pkg/exchange/okex/okexapi/client.go b/pkg/exchange/okex/okexapi/client.go index 5d0533051..5b0cb7c91 100644 --- a/pkg/exchange/okex/okexapi/client.go +++ b/pkg/exchange/okex/okexapi/client.go @@ -66,21 +66,26 @@ type RestClient struct { Key, Secret, Passphrase string } -func NewClient() (*RestClient, error) { - u, err := url.Parse(RestBaseURL) - if err != nil { - return nil, err - } +var parsedBaseURL *url.URL +func init() { + url, err := url.Parse(RestBaseURL) + if err != nil { + panic(err) + } + parsedBaseURL = url +} + +func NewClient() *RestClient { client := &RestClient{ BaseAPIClient: requestgen.BaseAPIClient{ - BaseURL: u, + BaseURL: parsedBaseURL, HttpClient: &http.Client{ Timeout: defaultHTTPTimeout, }, }, } - return client, nil + return client } func (c *RestClient) Auth(key, secret, passphrase string) { diff --git a/pkg/exchange/okex/okexapi/client_test.go b/pkg/exchange/okex/okexapi/client_test.go index 8169450a9..1c7878330 100644 --- a/pkg/exchange/okex/okexapi/client_test.go +++ b/pkg/exchange/okex/okexapi/client_test.go @@ -22,15 +22,13 @@ func getTestClientOrSkip(t *testing.T) *RestClient { return nil } - client, err := NewClient() - assert.NoError(t, err) + client := NewClient() client.Auth(key, secret, passphrase) return client } func TestClient_GetInstrumentsRequest(t *testing.T) { - client, err := NewClient() - assert.NoError(t, err) + client := NewClient() ctx := context.Background() req := client.NewGetInstrumentsRequest() @@ -43,8 +41,7 @@ func TestClient_GetInstrumentsRequest(t *testing.T) { } func TestClient_GetFundingRateRequest(t *testing.T) { - client, err := NewClient() - assert.NoError(t, err) + client := NewClient() ctx := context.Background() req := client.NewGetFundingRate()