docusign_esign.client.api_response
DocuSign REST API
The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign.
OpenAPI spec version: v2 Contact: devcenter@docusign.com Generated by: https://github.com/swagger-api/swagger-codegen.git
1# coding: utf-8 2 3""" 4 DocuSign REST API 5 6 The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign. 7 8 OpenAPI spec version: v2 9 Contact: devcenter@docusign.com 10 Generated by: https://github.com/swagger-api/swagger-codegen.git 11""" 12 13import io 14import certifi 15import ssl 16import re 17import json 18import logging 19 20from six import PY3 21from six.moves.urllib.parse import urlencode 22from .configuration import Configuration 23from .api_exception import ApiException 24 25try: 26 import urllib3 27except ImportError: 28 raise ImportError('Swagger python client requires urllib3.') 29 30logger = logging.getLogger(__name__) 31 32 33class RESTResponse(io.IOBase): 34 35 def __init__(self, resp): 36 self.urllib3_response = resp 37 self.status = resp.status 38 self.reason = resp.reason 39 self.data = resp.data 40 41 def getheaders(self): 42 """ 43 Returns a dictionary of the response headers. 44 """ 45 return self.urllib3_response.getheaders() 46 47 def getheader(self, name, default=None): 48 """ 49 Returns a given response header. 50 """ 51 return self.urllib3_response.getheader(name, default) 52 53 54class RESTClientObject(object): 55 56 def __init__(self, pools_size=4, maxsize=4): 57 # urllib3.PoolManager will pass all kw parameters to connectionpool 58 # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 59 # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 60 # maxsize is the number of requests to host that are allowed in parallel 61 # ca_certs vs cert_file vs key_file 62 # http://stackoverflow.com/a/23957365/2985775 63 64 # cert_reqs 65 if Configuration().verify_ssl: 66 cert_reqs = ssl.CERT_REQUIRED 67 else: 68 cert_reqs = ssl.CERT_NONE 69 70 # ca_certs 71 if Configuration().ssl_ca_cert: 72 ca_certs = Configuration().ssl_ca_cert 73 else: 74 # if not set certificate file, use Mozilla's root certificates. 75 ca_certs = certifi.where() 76 77 # cert_file 78 cert_file = Configuration().cert_file 79 80 # key file 81 key_file = Configuration().key_file 82 83 # https pool manager 84 self.pool_manager = urllib3.PoolManager( 85 num_pools=pools_size, 86 maxsize=maxsize, 87 cert_reqs=cert_reqs, 88 ca_certs=ca_certs, 89 cert_file=cert_file, 90 key_file=key_file 91 ) 92 93 def request(self, method, url, query_params=None, headers=None, 94 body=None, post_params=None, _preload_content=True, _request_timeout=None): 95 """ 96 :param method: http request method 97 :param url: http request url 98 :param query_params: query parameters in the url 99 :param headers: http request headers 100 :param body: request json body, for `application/json` 101 :param post_params: request post parameters, 102 `application/x-www-form-urlencoded` 103 and `multipart/form-data` 104 :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without 105 reading/decoding response data. Default is True. 106 :param _request_timeout: timeout setting for this request. If one number provided, it will be total request 107 timeout. It can also be a pair (tuple) of (connection, read) timeouts. 108 """ 109 method = method.upper() 110 assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS'] 111 112 if post_params and body: 113 raise ValueError( 114 "body parameter cannot be used with post_params parameter." 115 ) 116 117 post_params = post_params or {} 118 headers = headers or {} 119 120 timeout = None 121 if _request_timeout: 122 if isinstance(_request_timeout, (int, ) if PY3 else (int, long)): 123 timeout = urllib3.Timeout(total=_request_timeout) 124 elif isinstance(_request_timeout, tuple) and len(_request_timeout) == 2: 125 timeout = urllib3.Timeout(connect=_request_timeout[0], read=_request_timeout[1]) 126 127 if 'Content-Type' not in headers: 128 headers['Content-Type'] = 'application/json' 129 130 try: 131 # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` 132 if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: 133 if query_params: 134 url += '?' + urlencode(query_params) 135 if re.search('json', headers['Content-Type'], re.IGNORECASE): 136 request_body = None 137 if body: 138 request_body = json.dumps(body) 139 r = self.pool_manager.request(method, url, 140 body=request_body, 141 preload_content=_preload_content, 142 timeout=timeout, 143 headers=headers) 144 elif headers['Content-Type'] == 'application/x-www-form-urlencoded': 145 r = self.pool_manager.request(method, url, 146 fields=post_params, 147 encode_multipart=False, 148 preload_content=_preload_content, 149 timeout=timeout, 150 headers=headers) 151 elif headers['Content-Type'] == 'multipart/form-data': 152 # must del headers['Content-Type'], or the correct Content-Type 153 # which generated by urllib3 will be overwritten. 154 del headers['Content-Type'] 155 is_content_disposition_type = False 156 157 if len(post_params): 158 [k, v] = post_params[0] 159 [file_name, file_data, mime_type] = v 160 if isinstance(file_data, bytes): 161 headers['Content-Type'] = mime_type 162 headers['Content-Disposition'] = 'form-data; name="' + k + '"; filename="' + file_name + '"' 163 is_content_disposition_type = True 164 165 if is_content_disposition_type: 166 r = self.pool_manager.request(method, url, 167 body=file_data, 168 preload_content=_preload_content, 169 timeout=timeout, 170 headers=headers) 171 else: 172 r = self.pool_manager.request(method, url, 173 fields=post_params, 174 encode_multipart=True, 175 preload_content=_preload_content, 176 timeout=timeout, 177 headers=headers) 178 # Pass a `string` parameter directly in the body to support 179 # other content types than Json when `body` argument is provided 180 # in serialized form 181 elif isinstance(body, str): 182 request_body = body 183 r = self.pool_manager.request(method, url, 184 body=request_body, 185 preload_content=_preload_content, 186 timeout=timeout, 187 headers=headers) 188 else: 189 # Cannot generate the request from given parameters 190 msg = """Cannot prepare a request message for provided arguments. 191 Please check that your arguments match declared content type.""" 192 raise ApiException(status=0, reason=msg) 193 # For `GET`, `HEAD` 194 else: 195 r = self.pool_manager.request(method, url, 196 fields=query_params, 197 preload_content=_preload_content, 198 timeout=timeout, 199 headers=headers) 200 except urllib3.exceptions.SSLError as e: 201 msg = "{0}\n{1}".format(type(e).__name__, str(e)) 202 raise ApiException(status=0, reason=msg) 203 204 # log response body 205 logger.debug("response body: %s", r.data) 206 207 if r.status not in range(200, 206): 208 raise ApiException(http_resp=r) 209 210 return r 211 212 def GET(self, url, headers=None, query_params=None, _preload_content=True, _request_timeout=None): 213 return self.request("GET", url, 214 headers=headers, 215 _preload_content=_preload_content, 216 _request_timeout=_request_timeout, 217 query_params=query_params) 218 219 def HEAD(self, url, headers=None, query_params=None, _preload_content=True, _request_timeout=None): 220 return self.request("HEAD", url, 221 headers=headers, 222 _preload_content=_preload_content, 223 _request_timeout=_request_timeout, 224 query_params=query_params) 225 226 def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 227 _request_timeout=None): 228 return self.request("OPTIONS", url, 229 headers=headers, 230 query_params=query_params, 231 post_params=post_params, 232 _preload_content=_preload_content, 233 _request_timeout=_request_timeout, 234 body=body) 235 236 def DELETE(self, url, headers=None, query_params=None, body=None, _preload_content=True, _request_timeout=None): 237 return self.request("DELETE", url, 238 headers=headers, 239 query_params=query_params, 240 _preload_content=_preload_content, 241 _request_timeout=_request_timeout, 242 body=body) 243 244 def POST(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 245 _request_timeout=None): 246 return self.request("POST", url, 247 headers=headers, 248 query_params=query_params, 249 post_params=post_params, 250 _preload_content=_preload_content, 251 _request_timeout=_request_timeout, 252 body=body) 253 254 def PUT(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 255 _request_timeout=None): 256 return self.request("PUT", url, 257 headers=headers, 258 query_params=query_params, 259 post_params=post_params, 260 _preload_content=_preload_content, 261 _request_timeout=_request_timeout, 262 body=body) 263 264 def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 265 _request_timeout=None): 266 return self.request("PATCH", url, 267 headers=headers, 268 query_params=query_params, 269 post_params=post_params, 270 _preload_content=_preload_content, 271 _request_timeout=_request_timeout, 272 body=body)
34class RESTResponse(io.IOBase): 35 36 def __init__(self, resp): 37 self.urllib3_response = resp 38 self.status = resp.status 39 self.reason = resp.reason 40 self.data = resp.data 41 42 def getheaders(self): 43 """ 44 Returns a dictionary of the response headers. 45 """ 46 return self.urllib3_response.getheaders() 47 48 def getheader(self, name, default=None): 49 """ 50 Returns a given response header. 51 """ 52 return self.urllib3_response.getheader(name, default)
The abstract base class for all I/O classes, acting on streams of bytes. There is no public constructor.
This class provides dummy implementations for many methods that derived classes can override selectively; the default implementations represent a file that cannot be read, written or seeked.
Even though IOBase does not declare read, readinto, or write because their signatures will vary, implementations and clients should consider those methods part of the interface. Also, implementations may raise UnsupportedOperation when operations they do not support are called.
The basic type used for binary data read from or written to a file is bytes. Other bytes-like objects are accepted as method arguments too. In some cases (such as readinto), a writable object is required. Text I/O classes work with str data.
Note that calling any method (except additional calls to close(), which are ignored) on a closed stream should raise a ValueError.
IOBase (and its subclasses) support the iterator protocol, meaning that an IOBase object can be iterated over yielding the lines in a stream.
IOBase also supports the :keyword:with
statement. In this example,
fp is closed after the suite of the with statement is complete:
with open('spam.txt', 'r') as fp: fp.write('Spam and eggs!')
42 def getheaders(self): 43 """ 44 Returns a dictionary of the response headers. 45 """ 46 return self.urllib3_response.getheaders()
Returns a dictionary of the response headers.
48 def getheader(self, name, default=None): 49 """ 50 Returns a given response header. 51 """ 52 return self.urllib3_response.getheader(name, default)
Returns a given response header.
Inherited Members
- _io._IOBase
- seek
- tell
- truncate
- flush
- close
- seekable
- readable
- writable
- fileno
- isatty
- readline
- readlines
- writelines
- closed
55class RESTClientObject(object): 56 57 def __init__(self, pools_size=4, maxsize=4): 58 # urllib3.PoolManager will pass all kw parameters to connectionpool 59 # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 60 # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 61 # maxsize is the number of requests to host that are allowed in parallel 62 # ca_certs vs cert_file vs key_file 63 # http://stackoverflow.com/a/23957365/2985775 64 65 # cert_reqs 66 if Configuration().verify_ssl: 67 cert_reqs = ssl.CERT_REQUIRED 68 else: 69 cert_reqs = ssl.CERT_NONE 70 71 # ca_certs 72 if Configuration().ssl_ca_cert: 73 ca_certs = Configuration().ssl_ca_cert 74 else: 75 # if not set certificate file, use Mozilla's root certificates. 76 ca_certs = certifi.where() 77 78 # cert_file 79 cert_file = Configuration().cert_file 80 81 # key file 82 key_file = Configuration().key_file 83 84 # https pool manager 85 self.pool_manager = urllib3.PoolManager( 86 num_pools=pools_size, 87 maxsize=maxsize, 88 cert_reqs=cert_reqs, 89 ca_certs=ca_certs, 90 cert_file=cert_file, 91 key_file=key_file 92 ) 93 94 def request(self, method, url, query_params=None, headers=None, 95 body=None, post_params=None, _preload_content=True, _request_timeout=None): 96 """ 97 :param method: http request method 98 :param url: http request url 99 :param query_params: query parameters in the url 100 :param headers: http request headers 101 :param body: request json body, for `application/json` 102 :param post_params: request post parameters, 103 `application/x-www-form-urlencoded` 104 and `multipart/form-data` 105 :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without 106 reading/decoding response data. Default is True. 107 :param _request_timeout: timeout setting for this request. If one number provided, it will be total request 108 timeout. It can also be a pair (tuple) of (connection, read) timeouts. 109 """ 110 method = method.upper() 111 assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS'] 112 113 if post_params and body: 114 raise ValueError( 115 "body parameter cannot be used with post_params parameter." 116 ) 117 118 post_params = post_params or {} 119 headers = headers or {} 120 121 timeout = None 122 if _request_timeout: 123 if isinstance(_request_timeout, (int, ) if PY3 else (int, long)): 124 timeout = urllib3.Timeout(total=_request_timeout) 125 elif isinstance(_request_timeout, tuple) and len(_request_timeout) == 2: 126 timeout = urllib3.Timeout(connect=_request_timeout[0], read=_request_timeout[1]) 127 128 if 'Content-Type' not in headers: 129 headers['Content-Type'] = 'application/json' 130 131 try: 132 # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` 133 if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: 134 if query_params: 135 url += '?' + urlencode(query_params) 136 if re.search('json', headers['Content-Type'], re.IGNORECASE): 137 request_body = None 138 if body: 139 request_body = json.dumps(body) 140 r = self.pool_manager.request(method, url, 141 body=request_body, 142 preload_content=_preload_content, 143 timeout=timeout, 144 headers=headers) 145 elif headers['Content-Type'] == 'application/x-www-form-urlencoded': 146 r = self.pool_manager.request(method, url, 147 fields=post_params, 148 encode_multipart=False, 149 preload_content=_preload_content, 150 timeout=timeout, 151 headers=headers) 152 elif headers['Content-Type'] == 'multipart/form-data': 153 # must del headers['Content-Type'], or the correct Content-Type 154 # which generated by urllib3 will be overwritten. 155 del headers['Content-Type'] 156 is_content_disposition_type = False 157 158 if len(post_params): 159 [k, v] = post_params[0] 160 [file_name, file_data, mime_type] = v 161 if isinstance(file_data, bytes): 162 headers['Content-Type'] = mime_type 163 headers['Content-Disposition'] = 'form-data; name="' + k + '"; filename="' + file_name + '"' 164 is_content_disposition_type = True 165 166 if is_content_disposition_type: 167 r = self.pool_manager.request(method, url, 168 body=file_data, 169 preload_content=_preload_content, 170 timeout=timeout, 171 headers=headers) 172 else: 173 r = self.pool_manager.request(method, url, 174 fields=post_params, 175 encode_multipart=True, 176 preload_content=_preload_content, 177 timeout=timeout, 178 headers=headers) 179 # Pass a `string` parameter directly in the body to support 180 # other content types than Json when `body` argument is provided 181 # in serialized form 182 elif isinstance(body, str): 183 request_body = body 184 r = self.pool_manager.request(method, url, 185 body=request_body, 186 preload_content=_preload_content, 187 timeout=timeout, 188 headers=headers) 189 else: 190 # Cannot generate the request from given parameters 191 msg = """Cannot prepare a request message for provided arguments. 192 Please check that your arguments match declared content type.""" 193 raise ApiException(status=0, reason=msg) 194 # For `GET`, `HEAD` 195 else: 196 r = self.pool_manager.request(method, url, 197 fields=query_params, 198 preload_content=_preload_content, 199 timeout=timeout, 200 headers=headers) 201 except urllib3.exceptions.SSLError as e: 202 msg = "{0}\n{1}".format(type(e).__name__, str(e)) 203 raise ApiException(status=0, reason=msg) 204 205 # log response body 206 logger.debug("response body: %s", r.data) 207 208 if r.status not in range(200, 206): 209 raise ApiException(http_resp=r) 210 211 return r 212 213 def GET(self, url, headers=None, query_params=None, _preload_content=True, _request_timeout=None): 214 return self.request("GET", url, 215 headers=headers, 216 _preload_content=_preload_content, 217 _request_timeout=_request_timeout, 218 query_params=query_params) 219 220 def HEAD(self, url, headers=None, query_params=None, _preload_content=True, _request_timeout=None): 221 return self.request("HEAD", url, 222 headers=headers, 223 _preload_content=_preload_content, 224 _request_timeout=_request_timeout, 225 query_params=query_params) 226 227 def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 228 _request_timeout=None): 229 return self.request("OPTIONS", url, 230 headers=headers, 231 query_params=query_params, 232 post_params=post_params, 233 _preload_content=_preload_content, 234 _request_timeout=_request_timeout, 235 body=body) 236 237 def DELETE(self, url, headers=None, query_params=None, body=None, _preload_content=True, _request_timeout=None): 238 return self.request("DELETE", url, 239 headers=headers, 240 query_params=query_params, 241 _preload_content=_preload_content, 242 _request_timeout=_request_timeout, 243 body=body) 244 245 def POST(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 246 _request_timeout=None): 247 return self.request("POST", url, 248 headers=headers, 249 query_params=query_params, 250 post_params=post_params, 251 _preload_content=_preload_content, 252 _request_timeout=_request_timeout, 253 body=body) 254 255 def PUT(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 256 _request_timeout=None): 257 return self.request("PUT", url, 258 headers=headers, 259 query_params=query_params, 260 post_params=post_params, 261 _preload_content=_preload_content, 262 _request_timeout=_request_timeout, 263 body=body) 264 265 def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 266 _request_timeout=None): 267 return self.request("PATCH", url, 268 headers=headers, 269 query_params=query_params, 270 post_params=post_params, 271 _preload_content=_preload_content, 272 _request_timeout=_request_timeout, 273 body=body)
57 def __init__(self, pools_size=4, maxsize=4): 58 # urllib3.PoolManager will pass all kw parameters to connectionpool 59 # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 60 # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 61 # maxsize is the number of requests to host that are allowed in parallel 62 # ca_certs vs cert_file vs key_file 63 # http://stackoverflow.com/a/23957365/2985775 64 65 # cert_reqs 66 if Configuration().verify_ssl: 67 cert_reqs = ssl.CERT_REQUIRED 68 else: 69 cert_reqs = ssl.CERT_NONE 70 71 # ca_certs 72 if Configuration().ssl_ca_cert: 73 ca_certs = Configuration().ssl_ca_cert 74 else: 75 # if not set certificate file, use Mozilla's root certificates. 76 ca_certs = certifi.where() 77 78 # cert_file 79 cert_file = Configuration().cert_file 80 81 # key file 82 key_file = Configuration().key_file 83 84 # https pool manager 85 self.pool_manager = urllib3.PoolManager( 86 num_pools=pools_size, 87 maxsize=maxsize, 88 cert_reqs=cert_reqs, 89 ca_certs=ca_certs, 90 cert_file=cert_file, 91 key_file=key_file 92 )
94 def request(self, method, url, query_params=None, headers=None, 95 body=None, post_params=None, _preload_content=True, _request_timeout=None): 96 """ 97 :param method: http request method 98 :param url: http request url 99 :param query_params: query parameters in the url 100 :param headers: http request headers 101 :param body: request json body, for `application/json` 102 :param post_params: request post parameters, 103 `application/x-www-form-urlencoded` 104 and `multipart/form-data` 105 :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without 106 reading/decoding response data. Default is True. 107 :param _request_timeout: timeout setting for this request. If one number provided, it will be total request 108 timeout. It can also be a pair (tuple) of (connection, read) timeouts. 109 """ 110 method = method.upper() 111 assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS'] 112 113 if post_params and body: 114 raise ValueError( 115 "body parameter cannot be used with post_params parameter." 116 ) 117 118 post_params = post_params or {} 119 headers = headers or {} 120 121 timeout = None 122 if _request_timeout: 123 if isinstance(_request_timeout, (int, ) if PY3 else (int, long)): 124 timeout = urllib3.Timeout(total=_request_timeout) 125 elif isinstance(_request_timeout, tuple) and len(_request_timeout) == 2: 126 timeout = urllib3.Timeout(connect=_request_timeout[0], read=_request_timeout[1]) 127 128 if 'Content-Type' not in headers: 129 headers['Content-Type'] = 'application/json' 130 131 try: 132 # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` 133 if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: 134 if query_params: 135 url += '?' + urlencode(query_params) 136 if re.search('json', headers['Content-Type'], re.IGNORECASE): 137 request_body = None 138 if body: 139 request_body = json.dumps(body) 140 r = self.pool_manager.request(method, url, 141 body=request_body, 142 preload_content=_preload_content, 143 timeout=timeout, 144 headers=headers) 145 elif headers['Content-Type'] == 'application/x-www-form-urlencoded': 146 r = self.pool_manager.request(method, url, 147 fields=post_params, 148 encode_multipart=False, 149 preload_content=_preload_content, 150 timeout=timeout, 151 headers=headers) 152 elif headers['Content-Type'] == 'multipart/form-data': 153 # must del headers['Content-Type'], or the correct Content-Type 154 # which generated by urllib3 will be overwritten. 155 del headers['Content-Type'] 156 is_content_disposition_type = False 157 158 if len(post_params): 159 [k, v] = post_params[0] 160 [file_name, file_data, mime_type] = v 161 if isinstance(file_data, bytes): 162 headers['Content-Type'] = mime_type 163 headers['Content-Disposition'] = 'form-data; name="' + k + '"; filename="' + file_name + '"' 164 is_content_disposition_type = True 165 166 if is_content_disposition_type: 167 r = self.pool_manager.request(method, url, 168 body=file_data, 169 preload_content=_preload_content, 170 timeout=timeout, 171 headers=headers) 172 else: 173 r = self.pool_manager.request(method, url, 174 fields=post_params, 175 encode_multipart=True, 176 preload_content=_preload_content, 177 timeout=timeout, 178 headers=headers) 179 # Pass a `string` parameter directly in the body to support 180 # other content types than Json when `body` argument is provided 181 # in serialized form 182 elif isinstance(body, str): 183 request_body = body 184 r = self.pool_manager.request(method, url, 185 body=request_body, 186 preload_content=_preload_content, 187 timeout=timeout, 188 headers=headers) 189 else: 190 # Cannot generate the request from given parameters 191 msg = """Cannot prepare a request message for provided arguments. 192 Please check that your arguments match declared content type.""" 193 raise ApiException(status=0, reason=msg) 194 # For `GET`, `HEAD` 195 else: 196 r = self.pool_manager.request(method, url, 197 fields=query_params, 198 preload_content=_preload_content, 199 timeout=timeout, 200 headers=headers) 201 except urllib3.exceptions.SSLError as e: 202 msg = "{0}\n{1}".format(type(e).__name__, str(e)) 203 raise ApiException(status=0, reason=msg) 204 205 # log response body 206 logger.debug("response body: %s", r.data) 207 208 if r.status not in range(200, 206): 209 raise ApiException(http_resp=r) 210 211 return r
Parameters
- method: http request method
- url: http request url
- query_params: query parameters in the url
- headers: http request headers
- body: request json body, for
application/json
- post_params: request post parameters,
application/x-www-form-urlencoded
andmultipart/form-data
- _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True.
- _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.
227 def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 228 _request_timeout=None): 229 return self.request("OPTIONS", url, 230 headers=headers, 231 query_params=query_params, 232 post_params=post_params, 233 _preload_content=_preload_content, 234 _request_timeout=_request_timeout, 235 body=body)
237 def DELETE(self, url, headers=None, query_params=None, body=None, _preload_content=True, _request_timeout=None): 238 return self.request("DELETE", url, 239 headers=headers, 240 query_params=query_params, 241 _preload_content=_preload_content, 242 _request_timeout=_request_timeout, 243 body=body)
245 def POST(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 246 _request_timeout=None): 247 return self.request("POST", url, 248 headers=headers, 249 query_params=query_params, 250 post_params=post_params, 251 _preload_content=_preload_content, 252 _request_timeout=_request_timeout, 253 body=body)
255 def PUT(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 256 _request_timeout=None): 257 return self.request("PUT", url, 258 headers=headers, 259 query_params=query_params, 260 post_params=post_params, 261 _preload_content=_preload_content, 262 _request_timeout=_request_timeout, 263 body=body)
265 def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True, 266 _request_timeout=None): 267 return self.request("PATCH", url, 268 headers=headers, 269 query_params=query_params, 270 post_params=post_params, 271 _preload_content=_preload_content, 272 _request_timeout=_request_timeout, 273 body=body)