Beispiel #1
0
    def on_open(self, ws):
        #print("### open ###")
        self.logger.info("[Sub][" + str(self.id) + "] Connected to server")
        self.ws = ws
        self.last_receive_time = get_current_timestamp()
        self.state = ConnectionState.CONNECTED
        self.__watch_dog.on_connection_created(self)
        if self.request.is_trading:
            try:
                if self.request.api_version == ApiVersion.VERSION_V1:
                    builder = UrlParamsBuilder()
                    create_signature(self.__api_key, self.__secret_key, "GET",
                                     self.url, builder)
                    builder.put_url("op", "auth")
                    self.send(builder.build_url_to_json())
                elif self.request.api_version == ApiVersion.VERSION_V2:
                    builder = UrlParamsBuilder()
                    create_signature_v2(self.__api_key, self.__secret_key,
                                        "GET", self.url, builder)
                    self.send(builder.build_url_to_json())
                else:
                    self.on_error(
                        "api version for create the signature fill failed")

            except Exception as e:
                self.on_error("Unexpected error when create the signature: " +
                              str(e))
        else:
            if self.request.subscription_handler is not None:
                self.request.subscription_handler(self)
        return
 def __create_request_by_get_with_signature(self, url, builder):
     request = RestApiRequest()
     request.method = "GET"
     request.host = self.__server_url
     create_signature(self.__api_key, self.__secret_key, request.method, request.host + url, builder)
     request.header.update({"Content-Type": "application/x-www-form-urlencoded"})
     request.url = url + builder.build_url()
     return request
Beispiel #3
0
 def test_request(self):
     builder = UrlParamsBuilder()
     huobi.impl.utils.apisignature.utc_now = mock.Mock(return_value="123")
     create_signature("123", "456", "GET", "http://host/url", builder)
     self.assertEqual(
         "?AccessKeyId=123&SignatureVersion=2&SignatureMethod=HmacSHA256&Timestamp=123&Signature=Hhiaq8xYQPiBZOyWV37MdQutLo4f0ZOHiJtG3p%2BnILc%3D",
         builder.build_url())
     return
 def __create_request_by_post_with_signature(self, url, builder):
     request = RestApiRequest()
     request.method = "POST"
     request.host = self.__server_url
     create_signature(self.__api_key, self.__secret_key, request.method, request.host + url, builder)
     request.header.update({'Content-Type': 'application/json'})
     request.post_body = builder.post_map
     request.url = url + builder.build_url()
     return request