MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / HttpClient

Class HttpClient

server/projects/analysis/util/httpclient.py:19–60  ·  view source on GitHub ↗

请求客户端

Source from the content-addressed store, hash-verified

17
18
19class HttpClient(object):
20 """请求客户端
21 """
22
23 def __init__(self):
24 """初始化方法
25 """
26 _retries = util.Retry(total=3, backoff_factor=2.0, status_forcelist=(500, 502, 504))
27 self._http_client = poolmanager.PoolManager(retries=_retries)
28
29 def session(self, method, path, params, data=None, json_data=None, headers=None, **kwargs):
30 """请求基础方法
31 """
32 if data and type(data) != bytes:
33 data = str(data).encode("utf-8")
34 elif json_data:
35 data = json.dumps(json_data).encode("utf-8")
36 if kwargs.get("stream") is True:
37 return self._http_client.request(method, path, fields=params, headers=headers, preload_content=False)
38
39 else:
40 return self._http_client.request(method, path, fields=params, headers=headers, body=data, **kwargs)
41
42 def get(self, path, params=None, headers=None, **kwargs):
43 result = self.session("GET", path, params=params, headers=headers, **kwargs)
44 return result
45
46 def post(self, path, params=None, data=None, json_data=None, headers=None):
47 result = self.session("POST", path, params=params, data=data, json_data=json_data, headers=headers)
48 return result
49
50 def put(self, path, params=None, data=None, json_data=None, headers=None):
51 result = self.session("PUT", path, params=params, data=data, json_data=json_data, headers=headers)
52 return result
53
54 def patch(self, path, params=None, data=None, json_data=None, headers=None):
55 result = self.session("PATCH", path, params=params, data=data, json_data=json_data, headers=headers)
56 return result
57
58 def delete(self, path, params=None, data=None, json_data=None, headers=None):
59 result = self.session("DELETE", path, params=params, data=data, json_data=json_data, headers=headers)
60 return result

Callers 2

__init__Method · 0.90
__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected