def _post_api_tornado(path, payload_str, access_token=None): headers = {'Content-Type': 'application/json'} if access_token is not None: headers['X-Rollbar-Access-Token'] = access_token else: access_token = SETTINGS['access_token'] url = urljoin(SETTINGS['endpoint'], path) def post_tornado_cb(resp): r = requests.Response() r._content = resp.body r.status_code = resp.code r.headers.update(resp.headers) try: _parse_response(path, access_token, payload_str, r) except Exception as e: log.exception('Exception while posting item %r', e) TornadoAsyncHTTPClient().fetch(url, callback=post_tornado_cb, raise_error=False, body=payload_str, method='POST', connect_timeout=SETTINGS.get('timeout', DEFAULT_TIMEOUT), request_timeout=SETTINGS.get('timeout', DEFAULT_TIMEOUT))
def _post_api_tornado(path, payload, access_token=None): headers = {'Content-Type': 'application/json'} if access_token is not None: headers['X-Rollbar-Access-Token'] = access_token url = urljoin(SETTINGS['endpoint'], path) resp = yield TornadoAsyncHTTPClient().fetch( url, body=payload, method='POST', connect_timeout=SETTINGS.get('timeout', DEFAULT_TIMEOUT), request_timeout=SETTINGS.get('timeout', DEFAULT_TIMEOUT) ) r = requests.Response() r._content = resp.body r.status_code = resp.code r.headers.update(resp.headers) _parse_response(path, SETTINGS['access_token'], payload, r)
def _post_api_tornado(path, payload, access_token=None): headers = {'Content-Type': 'application/json'} if access_token is not None: headers['X-Rollbar-Access-Token'] = access_token # Serialize this ourselves so we can handle error cases more gracefully payload = ErrorIgnoringJSONEncoder().encode(payload) url = urlparse.urljoin(SETTINGS['endpoint'], path) resp = yield TornadoAsyncHTTPClient().fetch( url, body=payload, method='POST', connect_timeout=SETTINGS.get('timeout', DEFAULT_TIMEOUT), request_timeout=SETTINGS.get('timeout', DEFAULT_TIMEOUT) ) r = requests.Response() r._content = resp.body r.status_code = resp.code r.headers.update(resp.headers) _parse_response(path, SETTINGS['access_token'], payload, r)
def __init__(self, test_case): self._test_case = test_case self._http_client = getattr( self._test_case, 'http_client', TornadoAsyncHTTPClient(self._test_case.io_loop))