|
16 | 16 |
|
17 | 17 | import time |
18 | 18 | import json |
| 19 | +import typing |
19 | 20 | from typing import Any, Dict, Optional |
20 | 21 |
|
21 | 22 | import requests |
@@ -87,43 +88,60 @@ def request( |
87 | 88 | url = self.build_url(path, use_api_base=use_api_base) |
88 | 89 | merged_headers = self._headers(auth_kind, headers) |
89 | 90 | # timeout: Tuple[float, float] = (self.connect_timeout, self.read_timeout) |
90 | | - # session = requests.Session() |
| 91 | + session = requests.Session() |
91 | 92 | # adapter = HTTPAdapter(pool_connections=100, pool_maxsize=100) |
92 | 93 | # session.mount("http://", adapter) |
| 94 | + http_function = typing.Any |
| 95 | + match method: |
| 96 | + case "GET": |
| 97 | + http_function = session.get |
| 98 | + case "POST": |
| 99 | + http_function = session.post |
| 100 | + case "PUT": |
| 101 | + http_function = session.put |
| 102 | + case "DELETE": |
| 103 | + http_function = session.delete |
| 104 | + case "PATCH": |
| 105 | + http_function = session.patch |
| 106 | + case _: |
| 107 | + raise ValueError(f"Invalid HTTP method: {method}") |
| 108 | + |
93 | 109 | if iterations > 1: |
94 | 110 | response_list = [] |
95 | 111 | total_duration = 0.0 |
96 | 112 | for _ in range(iterations): |
97 | 113 | start_time = time.perf_counter() |
| 114 | + response = http_function(url, headers=merged_headers, json=json_body, data=data, stream=stream) |
98 | 115 | # response = session.get(url, headers=merged_headers, json=json_body, data=data, stream=stream) |
99 | | - response = requests.request( |
100 | | - method=method, |
101 | | - url=url, |
102 | | - headers=merged_headers, |
103 | | - json=json_body, |
104 | | - data=data, |
105 | | - files=files, |
106 | | - params=params, |
107 | | - stream=stream, |
108 | | - verify=self.verify_ssl, |
109 | | - ) |
| 116 | + # response = requests.request( |
| 117 | + # method=method, |
| 118 | + # url=url, |
| 119 | + # headers=merged_headers, |
| 120 | + # json=json_body, |
| 121 | + # data=data, |
| 122 | + # files=files, |
| 123 | + # params=params, |
| 124 | + # stream=stream, |
| 125 | + # verify=self.verify_ssl, |
| 126 | + # ) |
110 | 127 | end_time = time.perf_counter() |
111 | 128 | total_duration += end_time - start_time |
112 | 129 | response_list.append(response) |
113 | 130 | return {"duration": total_duration, "response_list": response_list} |
114 | 131 | else: |
| 132 | + return http_function(url, headers=merged_headers, json=json_body, data=data, stream=stream) |
115 | 133 | # return session.get(url, headers=merged_headers, json=json_body, data=data, stream=stream) |
116 | | - return requests.request( |
117 | | - method=method, |
118 | | - url=url, |
119 | | - headers=merged_headers, |
120 | | - json=json_body, |
121 | | - data=data, |
122 | | - files=files, |
123 | | - params=params, |
124 | | - stream=stream, |
125 | | - verify=self.verify_ssl, |
126 | | - ) |
| 134 | + # return requests.request( |
| 135 | + # method=method, |
| 136 | + # url=url, |
| 137 | + # headers=merged_headers, |
| 138 | + # json=json_body, |
| 139 | + # data=data, |
| 140 | + # files=files, |
| 141 | + # params=params, |
| 142 | + # stream=stream, |
| 143 | + # verify=self.verify_ssl, |
| 144 | + # ) |
127 | 145 |
|
128 | 146 | def request_json( |
129 | 147 | self, |
|
0 commit comments