Adding Swagger Docs endpoint & API Test Script

هذا الالتزام موجود في:
ahmedgamalyousef
2025-09-30 23:23:53 +03:00
الأصل 00d4b0a5ff
التزام 12ebec097c
5 ملفات معدلة مع 960 إضافات و66 حذوفات

عرض الملف

@@ -127,3 +127,208 @@
2025-09-29 19:55:02,233 [INFO] REQUEST: method=GET path=/fruits args={} body=None ip=127.0.0.1
2025-09-29 19:55:02,233 [INFO] RESPONSE: method=GET path=/fruits status=200 ip=127.0.0.1
2025-09-29 19:55:02,234 [INFO] 127.0.0.1 - - [29/Sep/2025 19:55:02] "GET /fruits HTTP/1.1" 200 -
2025-09-30 22:47:38,977 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.43.139:5000
2025-09-30 22:47:39,008 [INFO] Press CTRL+C to quit
2025-09-30 22:47:56,131 [INFO] REQUEST: method=GET path=/health args={} body=None ip=127.0.0.1
2025-09-30 22:47:56,132 [INFO] RESPONSE: method=GET path=/health status=200 ip=127.0.0.1
2025-09-30 22:47:56,133 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "GET /health HTTP/1.1" 200 -
2025-09-30 22:47:56,188 [INFO] REQUEST: method=GET path=/fruits args={} body=None ip=127.0.0.1
2025-09-30 22:47:56,189 [INFO] RESPONSE: method=GET path=/fruits status=200 ip=127.0.0.1
2025-09-30 22:47:56,189 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "GET /fruits HTTP/1.1" 200 -
2025-09-30 22:47:56,232 [INFO] REQUEST: method=GET path=/fruits/1 args={} body=None ip=127.0.0.1
2025-09-30 22:47:56,233 [INFO] RESPONSE: method=GET path=/fruits/1 status=200 ip=127.0.0.1
2025-09-30 22:47:56,234 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "GET /fruits/1 HTTP/1.1" 200 -
2025-09-30 22:47:56,301 [INFO] REQUEST: method=POST path=/fruits args={} body={'name': 'Mango', 'color': 'Yellow', 'price': 2.5, 'quantity': 50, 'category': 'Tropical'} ip=127.0.0.1
2025-09-30 22:47:56,302 [INFO] RESPONSE: method=POST path=/fruits status=201 ip=127.0.0.1
2025-09-30 22:47:56,302 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "POST /fruits HTTP/1.1" 201 -
2025-09-30 22:47:56,326 [INFO] REQUEST: method=PUT path=/fruits/1 args={} body={'name': 'Green Apple', 'price': 1.8} ip=127.0.0.1
2025-09-30 22:47:56,327 [INFO] RESPONSE: method=PUT path=/fruits/1 status=405 ip=127.0.0.1
2025-09-30 22:47:56,327 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "PUT /fruits/1 HTTP/1.1" 405 -
2025-09-30 22:47:56,351 [INFO] REQUEST: method=DELETE path=/fruits/1 args={} body=None ip=127.0.0.1
2025-09-30 22:47:56,352 [INFO] RESPONSE: method=DELETE path=/fruits/1 status=405 ip=127.0.0.1
2025-09-30 22:47:56,352 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "DELETE /fruits/1 HTTP/1.1" 405 -
2025-09-30 22:47:56,376 [INFO] REQUEST: method=GET path=/fruits/search args={'name': 'apple'} body=None ip=127.0.0.1
2025-09-30 22:47:56,377 [INFO] RESPONSE: method=GET path=/fruits/search status=404 ip=127.0.0.1
2025-09-30 22:47:56,377 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "GET /fruits/search?name=apple HTTP/1.1" 404 -
2025-09-30 22:47:56,403 [INFO] REQUEST: method=GET path=/fruits/category/Tropical args={} body=None ip=127.0.0.1
2025-09-30 22:47:56,403 [INFO] RESPONSE: method=GET path=/fruits/category/Tropical status=404 ip=127.0.0.1
2025-09-30 22:47:56,404 [INFO] 127.0.0.1 - - [30/Sep/2025 22:47:56] "GET /fruits/category/Tropical HTTP/1.1" 404 -
2025-09-30 22:48:14,383 [INFO] REQUEST: method=GET path=/health args={} body=None ip=127.0.0.1
2025-09-30 22:48:14,383 [INFO] RESPONSE: method=GET path=/health status=200 ip=127.0.0.1
2025-09-30 22:48:14,384 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "GET /health HTTP/1.1" 200 -
2025-09-30 22:48:14,435 [INFO] REQUEST: method=GET path=/fruits args={} body=None ip=127.0.0.1
2025-09-30 22:48:14,436 [INFO] RESPONSE: method=GET path=/fruits status=200 ip=127.0.0.1
2025-09-30 22:48:14,437 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "GET /fruits HTTP/1.1" 200 -
2025-09-30 22:48:14,484 [INFO] REQUEST: method=GET path=/fruits/1 args={} body=None ip=127.0.0.1
2025-09-30 22:48:14,484 [INFO] RESPONSE: method=GET path=/fruits/1 status=200 ip=127.0.0.1
2025-09-30 22:48:14,485 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "GET /fruits/1 HTTP/1.1" 200 -
2025-09-30 22:48:14,533 [INFO] REQUEST: method=POST path=/fruits args={} body={'name': 'Mango', 'color': 'Yellow', 'price': 2.5, 'quantity': 50, 'category': 'Tropical'} ip=127.0.0.1
2025-09-30 22:48:14,534 [INFO] RESPONSE: method=POST path=/fruits status=201 ip=127.0.0.1
2025-09-30 22:48:14,536 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "POST /fruits HTTP/1.1" 201 -
2025-09-30 22:48:14,595 [INFO] REQUEST: method=PUT path=/fruits/1 args={} body={'name': 'Green Apple', 'price': 1.8} ip=127.0.0.1
2025-09-30 22:48:14,596 [INFO] RESPONSE: method=PUT path=/fruits/1 status=405 ip=127.0.0.1
2025-09-30 22:48:14,596 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "PUT /fruits/1 HTTP/1.1" 405 -
2025-09-30 22:48:14,648 [INFO] REQUEST: method=DELETE path=/fruits/1 args={} body=None ip=127.0.0.1
2025-09-30 22:48:14,649 [INFO] RESPONSE: method=DELETE path=/fruits/1 status=405 ip=127.0.0.1
2025-09-30 22:48:14,649 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "DELETE /fruits/1 HTTP/1.1" 405 -
2025-09-30 22:48:14,669 [INFO] REQUEST: method=GET path=/fruits/search args={'name': 'apple'} body=None ip=127.0.0.1
2025-09-30 22:48:14,669 [INFO] RESPONSE: method=GET path=/fruits/search status=404 ip=127.0.0.1
2025-09-30 22:48:14,670 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "GET /fruits/search?name=apple HTTP/1.1" 404 -
2025-09-30 22:48:14,684 [INFO] REQUEST: method=GET path=/fruits/category/Tropical args={} body=None ip=127.0.0.1
2025-09-30 22:48:14,685 [INFO] RESPONSE: method=GET path=/fruits/category/Tropical status=404 ip=127.0.0.1
2025-09-30 22:48:14,685 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:14] "GET /fruits/category/Tropical HTTP/1.1" 404 -
2025-09-30 22:48:28,832 [INFO] REQUEST: method=GET path=/health args={} body=None ip=127.0.0.1
2025-09-30 22:48:28,832 [INFO] RESPONSE: method=GET path=/health status=200 ip=127.0.0.1
2025-09-30 22:48:28,834 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "GET /health HTTP/1.1" 200 -
2025-09-30 22:48:28,850 [INFO] REQUEST: method=GET path=/fruits args={} body=None ip=127.0.0.1
2025-09-30 22:48:28,851 [INFO] RESPONSE: method=GET path=/fruits status=200 ip=127.0.0.1
2025-09-30 22:48:28,851 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "GET /fruits HTTP/1.1" 200 -
2025-09-30 22:48:28,873 [INFO] REQUEST: method=GET path=/fruits/1 args={} body=None ip=127.0.0.1
2025-09-30 22:48:28,874 [INFO] RESPONSE: method=GET path=/fruits/1 status=200 ip=127.0.0.1
2025-09-30 22:48:28,874 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "GET /fruits/1 HTTP/1.1" 200 -
2025-09-30 22:48:28,893 [INFO] REQUEST: method=POST path=/fruits args={} body={'name': 'Mango', 'color': 'Yellow', 'price': 2.5, 'quantity': 50, 'category': 'Tropical'} ip=127.0.0.1
2025-09-30 22:48:28,894 [INFO] RESPONSE: method=POST path=/fruits status=201 ip=127.0.0.1
2025-09-30 22:48:28,895 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "POST /fruits HTTP/1.1" 201 -
2025-09-30 22:48:28,914 [INFO] REQUEST: method=PUT path=/fruits/1 args={} body={'name': 'Green Apple', 'price': 1.8} ip=127.0.0.1
2025-09-30 22:48:28,915 [INFO] RESPONSE: method=PUT path=/fruits/1 status=405 ip=127.0.0.1
2025-09-30 22:48:28,915 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "PUT /fruits/1 HTTP/1.1" 405 -
2025-09-30 22:48:28,939 [INFO] REQUEST: method=DELETE path=/fruits/1 args={} body=None ip=127.0.0.1
2025-09-30 22:48:28,940 [INFO] RESPONSE: method=DELETE path=/fruits/1 status=405 ip=127.0.0.1
2025-09-30 22:48:28,940 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "DELETE /fruits/1 HTTP/1.1" 405 -
2025-09-30 22:48:28,960 [INFO] REQUEST: method=GET path=/fruits/search args={'name': 'apple'} body=None ip=127.0.0.1
2025-09-30 22:48:28,960 [INFO] RESPONSE: method=GET path=/fruits/search status=404 ip=127.0.0.1
2025-09-30 22:48:28,960 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "GET /fruits/search?name=apple HTTP/1.1" 404 -
2025-09-30 22:48:28,977 [INFO] REQUEST: method=GET path=/fruits/category/Tropical args={} body=None ip=127.0.0.1
2025-09-30 22:48:28,977 [INFO] RESPONSE: method=GET path=/fruits/category/Tropical status=404 ip=127.0.0.1
2025-09-30 22:48:28,978 [INFO] 127.0.0.1 - - [30/Sep/2025 22:48:28] "GET /fruits/category/Tropical HTTP/1.1" 404 -
2025-09-30 22:53:33,909 - INFO - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.43.139:5000
2025-09-30 22:53:33,921 - INFO - Press CTRL+C to quit
2025-09-30 22:53:33,932 - INFO - * Restarting with stat
2025-09-30 22:53:34,272 - WARNING - * Debugger is active!
2025-09-30 22:53:34,288 - INFO - * Debugger PIN: 117-497-176
2025-09-30 22:53:43,983 - INFO - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.43.139:5000
2025-09-30 22:53:43,985 - INFO - Press CTRL+C to quit
2025-09-30 22:53:43,986 - INFO - * Restarting with stat
2025-09-30 22:53:44,149 - WARNING - * Debugger is active!
2025-09-30 22:53:44,153 - INFO - * Debugger PIN: 117-497-176
2025-09-30 22:53:52,705 - INFO - REQUEST: GET / - From 127.0.0.1
2025-09-30 22:53:52,707 - INFO - RESPONSE: GET / - Status 200
2025-09-30 22:53:52,708 - INFO - 127.0.0.1 - - [30/Sep/2025 22:53:52] "GET / HTTP/1.1" 200 -
2025-09-30 22:53:53,367 - INFO - REQUEST: GET /favicon.ico - From 127.0.0.1
2025-09-30 22:53:53,367 - INFO - RESPONSE: GET /favicon.ico - Status 404
2025-09-30 22:53:53,367 - INFO - 127.0.0.1 - - [30/Sep/2025 22:53:53] "GET /favicon.ico HTTP/1.1" 404 -
2025-09-30 22:54:01,228 - INFO - REQUEST: GET /health - From 127.0.0.1
2025-09-30 22:54:01,228 - INFO - RESPONSE: GET /health - Status 200
2025-09-30 22:54:01,229 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "GET /health HTTP/1.1" 200 -
2025-09-30 22:54:01,275 - INFO - REQUEST: GET /fruits - From 127.0.0.1
2025-09-30 22:54:01,275 - INFO - RESPONSE: GET /fruits - Status 200
2025-09-30 22:54:01,276 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "GET /fruits HTTP/1.1" 200 -
2025-09-30 22:54:01,332 - INFO - REQUEST: GET /fruits/1 - From 127.0.0.1
2025-09-30 22:54:01,333 - INFO - RESPONSE: GET /fruits/1 - Status 200
2025-09-30 22:54:01,334 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "GET /fruits/1 HTTP/1.1" 200 -
2025-09-30 22:54:01,375 - INFO - REQUEST: POST /fruits - From 127.0.0.1
2025-09-30 22:54:01,376 - INFO - RESPONSE: POST /fruits - Status 201
2025-09-30 22:54:01,377 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "POST /fruits HTTP/1.1" 201 -
2025-09-30 22:54:01,426 - INFO - REQUEST: PUT /fruits/1 - From 127.0.0.1
2025-09-30 22:54:01,427 - INFO - RESPONSE: PUT /fruits/1 - Status 200
2025-09-30 22:54:01,428 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "PUT /fruits/1 HTTP/1.1" 200 -
2025-09-30 22:54:01,473 - INFO - REQUEST: DELETE /fruits/1 - From 127.0.0.1
2025-09-30 22:54:01,474 - INFO - RESPONSE: DELETE /fruits/1 - Status 200
2025-09-30 22:54:01,474 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "DELETE /fruits/1 HTTP/1.1" 200 -
2025-09-30 22:54:01,516 - INFO - REQUEST: GET /fruits/search - From 127.0.0.1
2025-09-30 22:54:01,516 - INFO - RESPONSE: GET /fruits/search - Status 200
2025-09-30 22:54:01,516 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "GET /fruits/search?name=apple HTTP/1.1" 200 -
2025-09-30 22:54:01,534 - INFO - REQUEST: GET /fruits/category/Tropical - From 127.0.0.1
2025-09-30 22:54:01,535 - INFO - RESPONSE: GET /fruits/category/Tropical - Status 200
2025-09-30 22:54:01,535 - INFO - 127.0.0.1 - - [30/Sep/2025 22:54:01] "GET /fruits/category/Tropical HTTP/1.1" 200 -
2025-09-30 22:55:23,112 - INFO - REQUEST: GET /docs - From 127.0.0.1
2025-09-30 22:55:23,113 - INFO - RESPONSE: GET /docs - Status 404
2025-09-30 22:55:23,114 - INFO - 127.0.0.1 - - [30/Sep/2025 22:55:23] "GET /docs HTTP/1.1" 404 -
2025-09-30 23:00:03,721 - INFO - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.43.139:5000
2025-09-30 23:00:03,722 - INFO - Press CTRL+C to quit
2025-09-30 23:00:03,734 - INFO - * Restarting with stat
2025-09-30 23:00:04,003 - WARNING - * Debugger is active!
2025-09-30 23:00:04,009 - INFO - * Debugger PIN: 117-497-176
2025-09-30 23:00:06,690 - INFO - REQUEST: GET / - From 127.0.0.1
2025-09-30 23:00:06,692 - INFO - RESPONSE: GET / - Status 200
2025-09-30 23:00:06,693 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:06] "GET / HTTP/1.1" 200 -
2025-09-30 23:00:11,991 - INFO - REQUEST: GET /apidoce - From 127.0.0.1
2025-09-30 23:00:11,992 - INFO - RESPONSE: GET /apidoce - Status 404
2025-09-30 23:00:11,995 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:11] "GET /apidoce HTTP/1.1" 404 -
2025-09-30 23:00:18,194 - INFO - REQUEST: GET /apidocs - From 127.0.0.1
2025-09-30 23:00:18,196 - INFO - RESPONSE: GET /apidocs - Status 308
2025-09-30 23:00:18,197 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:18] "GET /apidocs HTTP/1.1" 308 -
2025-09-30 23:00:18,211 - INFO - REQUEST: GET /apidocs/ - From 127.0.0.1
2025-09-30 23:00:18,302 - INFO - RESPONSE: GET /apidocs/ - Status 200
2025-09-30 23:00:18,304 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:18] "GET /apidocs/ HTTP/1.1" 200 -
2025-09-30 23:00:18,371 - INFO - REQUEST: GET /flasgger_static/swagger-ui.css - From 127.0.0.1
2025-09-30 23:00:18,372 - INFO - REQUEST: GET /flasgger_static/swagger-ui-bundle.js - From 127.0.0.1
2025-09-30 23:00:18,374 - INFO - REQUEST: GET /flasgger_static/swagger-ui-standalone-preset.js - From 127.0.0.1
2025-09-30 23:00:18,375 - INFO - REQUEST: GET /flasgger_static/lib/jquery.min.js - From 127.0.0.1
2025-09-30 23:00:18,423 - INFO - RESPONSE: GET /flasgger_static/swagger-ui.css - Status 200
2025-09-30 23:00:18,438 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:18] "GET /flasgger_static/swagger-ui.css HTTP/1.1" 200 -
2025-09-30 23:00:18,441 - INFO - RESPONSE: GET /flasgger_static/lib/jquery.min.js - Status 200
2025-09-30 23:00:18,442 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:18] "GET /flasgger_static/lib/jquery.min.js HTTP/1.1" 200 -
2025-09-30 23:00:18,443 - INFO - RESPONSE: GET /flasgger_static/swagger-ui-standalone-preset.js - Status 200
2025-09-30 23:00:18,445 - INFO - RESPONSE: GET /flasgger_static/swagger-ui-bundle.js - Status 200
2025-09-30 23:00:18,449 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:18] "GET /flasgger_static/swagger-ui-standalone-preset.js HTTP/1.1" 200 -
2025-09-30 23:00:18,450 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:18] "GET /flasgger_static/swagger-ui-bundle.js HTTP/1.1" 200 -
2025-09-30 23:00:19,453 - INFO - REQUEST: GET /apispec_1.json - From 127.0.0.1
2025-09-30 23:00:19,454 - INFO - RESPONSE: GET /apispec_1.json - Status 200
2025-09-30 23:00:19,454 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:19] "GET /apispec_1.json HTTP/1.1" 200 -
2025-09-30 23:00:19,562 - INFO - REQUEST: GET /flasgger_static/favicon-32x32.png - From 127.0.0.1
2025-09-30 23:00:19,564 - INFO - RESPONSE: GET /flasgger_static/favicon-32x32.png - Status 200
2025-09-30 23:00:19,565 - INFO - 127.0.0.1 - - [30/Sep/2025 23:00:19] "GET /flasgger_static/favicon-32x32.png HTTP/1.1" 200 -
2025-09-30 23:02:02,020 - INFO - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.43.139:5000
2025-09-30 23:02:02,020 - INFO - Press CTRL+C to quit
2025-09-30 23:02:02,023 - INFO - * Restarting with stat
2025-09-30 23:02:02,281 - WARNING - * Debugger is active!
2025-09-30 23:02:02,292 - INFO - * Debugger PIN: 117-497-176
2025-09-30 23:02:10,832 - INFO - REQUEST: GET /apidocs/ - From 127.0.0.1
2025-09-30 23:02:10,908 - INFO - RESPONSE: GET /apidocs/ - Status 200
2025-09-30 23:02:10,910 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:10] "GET /apidocs/ HTTP/1.1" 200 -
2025-09-30 23:02:10,966 - INFO - REQUEST: GET /flasgger_static/swagger-ui.css - From 127.0.0.1
2025-09-30 23:02:10,982 - INFO - REQUEST: GET /flasgger_static/swagger-ui-bundle.js - From 127.0.0.1
2025-09-30 23:02:10,984 - INFO - REQUEST: GET /flasgger_static/swagger-ui-standalone-preset.js - From 127.0.0.1
2025-09-30 23:02:10,986 - INFO - RESPONSE: GET /flasgger_static/swagger-ui.css - Status 304
2025-09-30 23:02:10,988 - INFO - REQUEST: GET /flasgger_static/lib/jquery.min.js - From 127.0.0.1
2025-09-30 23:02:10,989 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:10] "GET /flasgger_static/swagger-ui.css HTTP/1.1" 304 -
2025-09-30 23:02:10,989 - INFO - RESPONSE: GET /flasgger_static/swagger-ui-bundle.js - Status 304
2025-09-30 23:02:10,991 - INFO - RESPONSE: GET /flasgger_static/swagger-ui-standalone-preset.js - Status 304
2025-09-30 23:02:10,993 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:10] "GET /flasgger_static/swagger-ui-bundle.js HTTP/1.1" 304 -
2025-09-30 23:02:10,994 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:10] "GET /flasgger_static/swagger-ui-standalone-preset.js HTTP/1.1" 304 -
2025-09-30 23:02:10,996 - INFO - RESPONSE: GET /flasgger_static/lib/jquery.min.js - Status 304
2025-09-30 23:02:10,999 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:10] "GET /flasgger_static/lib/jquery.min.js HTTP/1.1" 304 -
2025-09-30 23:02:11,426 - INFO - REQUEST: GET /apispec_1.json - From 127.0.0.1
2025-09-30 23:02:11,427 - INFO - RESPONSE: GET /apispec_1.json - Status 200
2025-09-30 23:02:11,428 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:11] "GET /apispec_1.json HTTP/1.1" 200 -
2025-09-30 23:02:11,446 - INFO - REQUEST: GET /flasgger_static/favicon-32x32.png - From 127.0.0.1
2025-09-30 23:02:11,447 - INFO - RESPONSE: GET /flasgger_static/favicon-32x32.png - Status 304
2025-09-30 23:02:11,447 - INFO - 127.0.0.1 - - [30/Sep/2025 23:02:11] "GET /flasgger_static/favicon-32x32.png HTTP/1.1" 304 -
2025-09-30 23:03:14,463 - INFO - REQUEST: GET /apidocs/ - From 127.0.0.1
2025-09-30 23:03:14,466 - INFO - RESPONSE: GET /apidocs/ - Status 200
2025-09-30 23:03:14,468 - INFO - 127.0.0.1 - - [30/Sep/2025 23:03:14] "GET /apidocs/ HTTP/1.1" 200 -
2025-09-30 23:03:18,260 - INFO - REQUEST: GET /apispec_1.json - From 127.0.0.1
2025-09-30 23:03:18,262 - INFO - RESPONSE: GET /apispec_1.json - Status 200
2025-09-30 23:03:18,263 - INFO - 127.0.0.1 - - [30/Sep/2025 23:03:18] "GET /apispec_1.json HTTP/1.1" 200 -
2025-09-30 23:03:20,049 - INFO - REQUEST: GET /apispec_1.json - From 127.0.0.1
2025-09-30 23:03:20,050 - INFO - RESPONSE: GET /apispec_1.json - Status 200
2025-09-30 23:03:20,050 - INFO - 127.0.0.1 - - [30/Sep/2025 23:03:20] "GET /apispec_1.json HTTP/1.1" 200 -
2025-09-30 23:08:22,398 - INFO - REQUEST: GET /docs - From 127.0.0.1
2025-09-30 23:08:22,399 - INFO - RESPONSE: GET /docs - Status 404
2025-09-30 23:08:22,399 - INFO - 127.0.0.1 - - [30/Sep/2025 23:08:22] "GET /docs HTTP/1.1" 404 -