Skip to content

Commit a2dee49

Browse files
authored
feat: add SSL verification setting and logging in main.py
feat: add SSL verification setting and logging in main.py
2 parents 2f47b6d + ae0c78a commit a2dee49

2 files changed

Lines changed: 20 additions & 3 deletions

File tree

src/python_response_time/core/config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ class Settings(BaseSettings):
2727
LOG_LEVEL: Annotated[
2828
str, Field(pattern="^(DEBUG|INFO|WARNING|ERROR|CRITICAL)$")
2929
] = "INFO"
30+
VERIFY_SSL: Annotated[
31+
bool, Field(description="Whether to verify SSL certificates")
32+
] = True
3033

3134
model_config = SettingsConfigDict(
3235
env_file=".env",

src/python_response_time/main.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,37 @@ def run_app():
1717
logger.info(f"Concurrency: {app_settings.CONCURRENCY}")
1818
logger.info(f"Timeout: {app_settings.TIMEOUT} seconds")
1919
logger.info(f"Request Delay: {app_settings.REQUEST_DELAY} seconds")
20+
logger.info(f"SSL Verify: {app_settings.VERIFY_SSL}")
21+
22+
session = requests.Session()
23+
2024
logger.info("Starting HTTP benchmark...")
2125

2226
for i in range(app_settings.NUM_REQUESTS):
2327
start_time = time.time()
28+
2429
try:
25-
response = requests.get(
26-
str(app_settings.TARGET_URL), timeout=app_settings.TIMEOUT
30+
response = session.get(
31+
str(app_settings.TARGET_URL),
32+
timeout=app_settings.TIMEOUT,
33+
verify=app_settings.VERIFY_SSL,
2734
)
2835
response.raise_for_status()
36+
2937
elapsed_time_ms = (time.time() - start_time) * 1000
3038
logger.info(
3139
f"Request {i + 1}: {response.status_code} - {elapsed_time_ms:.2f} ms"
3240
)
41+
42+
except requests.exceptions.SSLError as e:
43+
logger.error(f"Request {i + 1} SSL error: {e}")
44+
3345
except requests.RequestException as e:
3446
logger.error(f"Request {i + 1} failed: {e}")
47+
3548
finally:
36-
time.sleep(app_settings.REQUEST_DELAY)
49+
if app_settings.REQUEST_DELAY > 0:
50+
time.sleep(app_settings.REQUEST_DELAY)
3751

3852

3953
if __name__ == "__main__":

0 commit comments

Comments
 (0)