def _do_call(self, http_method, url, parameters, auth_handlers, content_type, parse_json): headers, auth_params = HttpUtils.handle_authentication(auth_handlers) parameters.update(auth_params) if parse_json: headers["Accept"] = "application/json" headers.update(UrlUtils.generate_client_headers()) data = None opener = HttpUtils.get_http_opener(content_type) if (http_method == "GET"): url = UrlUtils.build_url_with_query_string(url, parameters) else: data, additional_headers = HttpUtils.build_data_for_content_type( content_type, parameters, headers) headers.update(additional_headers) request = urllib2.Request(url, data, headers) request.get_method = lambda: http_method try: response = opener.open(request) except urllib2.HTTPError, e: if e.getcode() == 500: response = e else: import sys raise MashapeClientException("Error executing the request " + str(sys.exc_info()[1]))
def do_call(self, http_method, url, parameters, auth_handlers, content_type, callback=None, parse_json=True): parameters = HttpUtils.clean_parameters(parameters) # for asynchronous calls if(callback is not None): return self._async_call(http_method, url, parameters, auth_handlers, content_type, parse_json) else: return self._do_call(http_method, url, parameters, auth_handlers, content_type, parse_json)