def _make_request(self, method, relative_url, signature, params=None, data=None): params = params or {} data = data or {} default_params = self.get_default_params() default_params.update(params) headers = {'Authorization': signature} headers['Content-type'] = 'application/json' headers['User-Agent'] = self.get_user_agent() url = self.get_full_url(relative_url) serialized = serializer.dumps(data) response = method(url, data=serialized, headers=headers, params=default_params, timeout=self.timeout) logger.debug('stream api call %s, headers %s data %s', response.url, headers, data) try: parsed_result = serializer.loads(response.text) except ValueError: parsed_result = None if parsed_result.get('exception') or response.status_code >= 500: self.raise_exception(parsed_result, status_code=response.status_code) return parsed_result
def _parse_response(self, response): try: parsed_result = serializer.loads(response.text) except ValueError: parsed_result = None if parsed_result is None or parsed_result.get('exception') or response.status_code >= 500: self.raise_exception(parsed_result, status_code=response.status_code) return parsed_result
def test_serialization(self): today = datetime.date.today() now = datetime.datetime.now() data = dict( string='string', float=0.1, int=1, date=today, datetime=now) serialized = serializer.dumps(data) loaded = serializer.loads(serialized) self.assertEqual(data, loaded)
def test_serialization(self): today = datetime.date.today() then = datetime.datetime.now().replace(microsecond=0) now = datetime.datetime.now() data = dict(string="string", float=0.1, int=1, date=today, datetime=now, datetimenomicro=then) serialized = serializer.dumps(data) loaded = serializer.loads(serialized) self.assertEqual(data, loaded)
def _make_request(self, method, relative_url, authorization, params=None, data=None): params = params or {} data = data or {} default_params = self.get_default_params() default_params.update(params) headers = {'Authorization': authorization} headers['Content-type'] = 'application/json' url = self.base_url + relative_url serialized = serializer.dumps(data) response = method(url, data=serialized, headers=headers, params=default_params) logger.debug('stream api call %s, headers %s data %s', response.url, headers, data) result = serializer.loads(response.content) if result.get('exception'): self.raise_exception(result, status_code=response.status_code) return result