locust 2.29.1.dev31__tar.gz → 2.29.2.dev6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/CHANGELOG.md +16 -0
  2. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/PKG-INFO +1 -1
  3. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/changelog.rst +6 -0
  4. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/increase-performance.rst +1 -1
  5. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/fast_http_locust.py +2 -0
  6. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/_version.py +2 -2
  7. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/clients.py +14 -18
  8. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/contrib/fasthttp.py +15 -5
  9. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/PKG-INFO +1 -1
  10. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.coveragerc +0 -0
  11. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.dockerignore +0 -0
  12. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.git-blame-ignore-revs +0 -0
  13. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.gitattributes +0 -0
  14. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.github/CONTRIBUTING.md +0 -0
  15. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  16. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  17. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  18. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.github/workflows/stale.yml +0 -0
  19. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.github/workflows/tests.yml +0 -0
  20. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.gitignore +0 -0
  21. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.pre-commit-config.yaml +0 -0
  22. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.readthedocs.yaml +0 -0
  23. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.vscode/extensions.json +0 -0
  24. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.vscode/launch.json +0 -0
  25. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.vscode/launch_locust.json +0 -0
  26. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/.vscode/settings.json +0 -0
  27. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/Dockerfile +0 -0
  28. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/LICENSE +0 -0
  29. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/MANIFEST.in +0 -0
  30. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/Makefile +0 -0
  31. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/README.md +0 -0
  32. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/SECURITY.md +0 -0
  33. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/Vagrantfile +0 -0
  34. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/benchmarks/dispatch.py +0 -0
  35. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/_static/theme-overrides.css +0 -0
  36. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/api.rst +0 -0
  37. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/conf.py +0 -0
  38. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/configuration.rst +0 -0
  39. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/custom-load-shape.rst +0 -0
  40. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/developing-locust.rst +0 -0
  41. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/extending-locust.rst +0 -0
  42. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/extensions.rst +0 -0
  43. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/faq.rst +0 -0
  44. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/further-reading.rst +0 -0
  45. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/history.rst +0 -0
  46. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/extend_modern_web_ui_cache_stats.png +0 -0
  47. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/locust_workers.png +0 -0
  48. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/number_of_users.png +0 -0
  49. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/response_times.png +0 -0
  50. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/total_requests_per_second.png +0 -0
  51. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/userclass_picker_example.png +0 -0
  52. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/webui-running-statistics.png +0 -0
  53. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/images/webui-splash-screenshot.png +0 -0
  54. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/increasing-request-rate.rst +0 -0
  55. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/index.rst +0 -0
  56. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/installation.rst +0 -0
  57. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/logging.rst +0 -0
  58. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/quickstart.rst +0 -0
  59. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/requirements.txt +0 -0
  60. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/retrieving-stats.rst +0 -0
  61. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/running-distributed.rst +0 -0
  62. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/running-in-debugger.rst +0 -0
  63. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/running-in-docker.rst +0 -0
  64. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/running-without-web-ui.rst +0 -0
  65. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/tasksets.rst +0 -0
  66. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/testing-other-systems.rst +0 -0
  67. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/use-as-lib.rst +0 -0
  68. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/what-is-locust.rst +0 -0
  69. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/docs/writing-a-locustfile.rst +0 -0
  70. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/add_command_line_argument.py +0 -0
  71. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/basic.py +0 -0
  72. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/browse_docs_sequence_test.py +0 -0
  73. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/browse_docs_test.py +0 -0
  74. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_messages.py +0 -0
  75. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_shape/double_wave.py +0 -0
  76. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_shape/stages.py +0 -0
  77. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_shape/staging_user_classes.py +0 -0
  78. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_shape/step_load.py +0 -0
  79. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_shape/wait_user_count.py +0 -0
  80. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_wait_function.py +0 -0
  81. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_xmlrpc_client/server.py +0 -0
  82. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/custom_xmlrpc_client/xmlrpc_locustfile.py +0 -0
  83. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/debugging.py +0 -0
  84. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/debugging_advanced.py +0 -0
  85. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/dispatch_test_scripts/locustfile.py +0 -0
  86. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/dispatch_test_scripts/run-disributed-headless.sh +0 -0
  87. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/dispatch_test_scripts/run-disributed-web.sh +0 -0
  88. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/dispatch_test_scripts/run-local-headless.sh +0 -0
  89. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/dispatch_test_scripts/run-local-web.sh +0 -0
  90. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/docker-compose/docker-compose.yml +0 -0
  91. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/dynamic_user_credentials.py +0 -0
  92. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/events.py +0 -0
  93. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/extend_web_ui.py +0 -0
  94. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/grpc/grpc_user.py +0 -0
  95. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/grpc/hello.proto +0 -0
  96. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/grpc/hello_pb2.py +0 -0
  97. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/grpc/hello_pb2_grpc.py +0 -0
  98. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/grpc/hello_server.py +0 -0
  99. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/grpc/locustfile.py +0 -0
  100. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/locustfile.py +0 -0
  101. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/manual_stats_reporting.py +0 -0
  102. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/multiple_hosts.py +0 -0
  103. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/nested_inline_tasksets.py +0 -0
  104. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/rest.py +0 -0
  105. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/sdk_session_patching/session_patch_locustfile.py +0 -0
  106. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/semaphore_wait.py +0 -0
  107. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/stop_on_threshold.py +0 -0
  108. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/README.md +0 -0
  109. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/data_subnet.tf +0 -0
  110. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/main.tf +0 -0
  111. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/output.tf +0 -0
  112. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/plan/basic.py +0 -0
  113. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/provisioner.tf +0 -0
  114. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/terraform/aws/variables.tf +0 -0
  115. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/test_data_management.py +0 -0
  116. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/use_as_lib.py +0 -0
  117. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/vagrant/README.md +0 -0
  118. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/vagrant/supervisord.conf +0 -0
  119. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/web_ui_auth.py +0 -0
  120. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/web_ui_cache_stats.py +0 -0
  121. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/examples/worker_index.py +0 -0
  122. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/generate_changelog.py +0 -0
  123. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/__init__.py +0 -0
  124. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/__main__.py +0 -0
  125. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/argument_parser.py +0 -0
  126. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/contrib/__init__.py +0 -0
  127. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/debug.py +0 -0
  128. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/dispatch.py +0 -0
  129. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/env.py +0 -0
  130. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/event.py +0 -0
  131. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/exception.py +0 -0
  132. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/html.py +0 -0
  133. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/input_events.py +0 -0
  134. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/log.py +0 -0
  135. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/main.py +0 -0
  136. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/py.typed +0 -0
  137. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/rpc/__init__.py +0 -0
  138. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/rpc/protocol.py +0 -0
  139. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/rpc/zmqrpc.py +0 -0
  140. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/runners.py +0 -0
  141. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/shape.py +0 -0
  142. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/stats.py +0 -0
  143. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/__init__.py +0 -0
  144. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/fake_module1_for_env_test.py +0 -0
  145. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/fake_module2_for_env_test.py +0 -0
  146. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/mock_locustfile.py +0 -0
  147. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/mock_logging.py +0 -0
  148. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_debugging.py +0 -0
  149. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_dispatch.py +0 -0
  150. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_env.py +0 -0
  151. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_fasthttp.py +0 -0
  152. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_http.py +0 -0
  153. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_interruptable_task.py +0 -0
  154. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_load_locustfile.py +0 -0
  155. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_locust_class.py +0 -0
  156. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_log.py +0 -0
  157. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_main.py +0 -0
  158. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_old_wait_api.py +0 -0
  159. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_parser.py +0 -0
  160. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_runners.py +0 -0
  161. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_sequential_taskset.py +0 -0
  162. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_stats.py +0 -0
  163. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_tags.py +0 -0
  164. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_taskratio.py +0 -0
  165. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_users.py +0 -0
  166. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_util.py +0 -0
  167. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_wait_time.py +0 -0
  168. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_web.py +0 -0
  169. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/test_zmqrpc.py +0 -0
  170. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/testcases.py +0 -0
  171. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/test/util.py +0 -0
  172. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/user/__init__.py +0 -0
  173. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/user/inspectuser.py +0 -0
  174. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/user/sequential_taskset.py +0 -0
  175. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/user/task.py +0 -0
  176. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/user/users.py +0 -0
  177. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/user/wait_time.py +0 -0
  178. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/__init__.py +0 -0
  179. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/cache.py +0 -0
  180. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/date.py +0 -0
  181. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/deprecation.py +0 -0
  182. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/exception_handler.py +0 -0
  183. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/load_locustfile.py +0 -0
  184. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/rounding.py +0 -0
  185. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/util/timespan.py +0 -0
  186. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/web.py +0 -0
  187. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/.eslintrc +0 -0
  188. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/.gitignore +0 -0
  189. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/.prettierrc +0 -0
  190. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/auth.html +0 -0
  191. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dev.html +0 -0
  192. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dist/assets/favicon.ico +0 -0
  193. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dist/assets/index-84c63e70.js +0 -0
  194. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dist/assets/logo.png +0 -0
  195. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dist/auth.html +0 -0
  196. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dist/index.html +0 -0
  197. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/dist/report.html +0 -0
  198. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/index.html +0 -0
  199. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/package.json +0 -0
  200. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/public/assets/favicon.ico +0 -0
  201. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/public/assets/logo.png +0 -0
  202. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/public/report.html +0 -0
  203. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/App.test.tsx +0 -0
  204. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/App.tsx +0 -0
  205. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/DataTable/DataTable.test.tsx +0 -0
  206. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/DataTable/DataTable.tsx +0 -0
  207. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/ExceptionsTable/ExceptionsTable.tsx +0 -0
  208. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/FailuresTable/FailuresTable.tsx +0 -0
  209. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/FallbackRender/FallbackRender.test.tsx +0 -0
  210. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/FallbackRender/FallbackRender.tsx +0 -0
  211. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Form/Form.tsx +0 -0
  212. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Form/Select.tsx +0 -0
  213. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Form/tests/Form.test.tsx +0 -0
  214. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Form/tests/Select.test.tsx +0 -0
  215. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Footer/About.tsx +0 -0
  216. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Footer/Footer.tsx +0 -0
  217. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Layout.tsx +0 -0
  218. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Navbar/DarkLightToggle.tsx +0 -0
  219. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Navbar/Navbar.tsx +0 -0
  220. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.test.tsx +0 -0
  221. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.tsx +0 -0
  222. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LineChart/LineChart.test.tsx +0 -0
  223. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LineChart/LineChart.tsx +0 -0
  224. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LogViewer/LogViewer.tsx +0 -0
  225. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LogViewer/logUtils.tsx +0 -0
  226. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LogViewer/tests/LogViewer.test.tsx +0 -0
  227. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LogViewer/tests/useLogViewer.test.tsx +0 -0
  228. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/LogViewer/useLogViewer.ts +0 -0
  229. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Modal/Modal.tsx +0 -0
  230. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Reports/Reports.test.tsx +0 -0
  231. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Reports/Reports.tsx +0 -0
  232. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.test.tsx +0 -0
  233. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.tsx +0 -0
  234. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/EditButton.tsx +0 -0
  235. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/NewTestButton.tsx +0 -0
  236. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/ResetButton.tsx +0 -0
  237. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/StateButtons.tsx +0 -0
  238. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/StopButton.tsx +0 -0
  239. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/tests/ResetButton.test.tsx +0 -0
  240. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/tests/StateButtons.test.tsx +0 -0
  241. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StateButtons/tests/StopButton.test.tsx +0 -0
  242. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/StatsTable/StatsTable.tsx +0 -0
  243. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmCharts/SwarmCharts.tsx +0 -0
  244. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/SwarmCustomParameters.tsx +0 -0
  245. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/SwarmEditForm.tsx +0 -0
  246. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/SwarmForm.tsx +0 -0
  247. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/SwarmUserClassPicker.tsx +0 -0
  248. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/tests/SwarmCustomParameters.test.tsx +0 -0
  249. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/tests/SwarmEditForm.test.tsx +0 -0
  250. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/tests/SwarmForm.test.tsx +0 -0
  251. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx +0 -0
  252. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmRatios/SwarmRatios.test.tsx +0 -0
  253. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/SwarmRatios/SwarmRatios.tsx +0 -0
  254. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Table/Table.test.tsx +0 -0
  255. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Table/Table.tsx +0 -0
  256. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Tabs/Tabs.constants.tsx +0 -0
  257. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Tabs/Tabs.test.tsx +0 -0
  258. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/Tabs/Tabs.tsx +0 -0
  259. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.test.tsx +0 -0
  260. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.tsx +0 -0
  261. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/components/WorkersTable/WorkersTable.tsx +0 -0
  262. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/constants/auth.ts +0 -0
  263. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/constants/logs.ts +0 -0
  264. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/constants/swarm.ts +0 -0
  265. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/constants/theme.ts +0 -0
  266. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/global.d.ts +0 -0
  267. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/tests/useNotifications.test.tsx +0 -0
  268. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/tests/useSelecteViewColumns.test.tsx +0 -0
  269. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/tests/useSortByField.test.tsx +0 -0
  270. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/tests/useSwarmUi.test.tsx +0 -0
  271. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/useInterval.ts +0 -0
  272. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/useNotifications.ts +0 -0
  273. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/useSelectViewColumns.ts +0 -0
  274. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/useSortByField.ts +0 -0
  275. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/hooks/useSwarmUi.ts +0 -0
  276. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/index.tsx +0 -0
  277. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/pages/Auth.tsx +0 -0
  278. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/pages/Dashboard.tsx +0 -0
  279. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/pages/HtmlReport.tsx +0 -0
  280. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/pages/tests/Auth.test.tsx +0 -0
  281. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/pages/tests/Dashboard.test.tsx +0 -0
  282. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/pages/tests/HtmlReport.test.tsx +0 -0
  283. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/api/swarm.ts +0 -0
  284. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/hooks.ts +0 -0
  285. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/logViewer.slice.ts +0 -0
  286. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/notification.slice.ts +0 -0
  287. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/root.slice.ts +0 -0
  288. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/swarm.slice.ts +0 -0
  289. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/tests/ui.slice.test.ts +0 -0
  290. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/theme.slice.ts +0 -0
  291. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/ui.slice.ts +0 -0
  292. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/slice/url.slice.ts +0 -0
  293. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/store.ts +0 -0
  294. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/redux/utils.ts +0 -0
  295. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/styles/theme.ts +0 -0
  296. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/test/constants.ts +0 -0
  297. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/test/mocks/statsRequest.mock.ts +0 -0
  298. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/test/mocks/swarmState.mock.ts +0 -0
  299. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/test/setup.ts +0 -0
  300. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/test/testUtils.tsx +0 -0
  301. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/types/auth.types.ts +0 -0
  302. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/types/swarm.types.ts +0 -0
  303. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/types/tab.types.ts +0 -0
  304. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/types/table.types.ts +0 -0
  305. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/types/ui.types.ts +0 -0
  306. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/array.ts +0 -0
  307. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/date.ts +0 -0
  308. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/number.ts +0 -0
  309. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/object.ts +0 -0
  310. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/string.ts +0 -0
  311. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/tests/number.test.ts +0 -0
  312. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/tests/object.test.ts +0 -0
  313. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/tests/string.test.ts +0 -0
  314. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/tests/url.test.ts +0 -0
  315. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/src/utils/url.ts +0 -0
  316. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/tsconfig.json +0 -0
  317. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/vite.config.ts +0 -0
  318. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/vitest.config.ts +0 -0
  319. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust/webui/yarn.lock +0 -0
  320. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/SOURCES.txt +0 -0
  321. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/dependency_links.txt +0 -0
  322. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/entry_points.txt +0 -0
  323. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/not-zip-safe +0 -0
  324. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/requires.txt +0 -0
  325. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/locust.egg-info/top_level.txt +0 -0
  326. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/package.json +0 -0
  327. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/pyproject.toml +0 -0
  328. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/setup.cfg +0 -0
  329. {locust-2.29.1.dev31 → locust-2.29.2.dev6}/tox.ini +0 -0
@@ -1,6 +1,22 @@
1
1
  # Detailed changelog
2
2
  The most important changes can also be found in [the documentation](https://docs.locust.io/en/latest/changelog.html).
3
3
 
4
+ ## [2.29.1](https://github.com/locustio/locust/tree/2.29.1) (2024-06-25)
5
+
6
+ [Full Changelog](https://github.com/locustio/locust/compare/2.29.0...2.29.1)
7
+
8
+ **Fixed bugs:**
9
+
10
+ - locust/webui/dist/index.html script errors. [\#2753](https://github.com/locustio/locust/issues/2753)
11
+
12
+ **Merged pull requests:**
13
+
14
+ - Option to Skip Monkey Patching with LOCUST\_SKIP\_MONKEY\_PATCH [\#2765](https://github.com/locustio/locust/pull/2765) ([andrewbaldwin44](https://github.com/andrewbaldwin44))
15
+ - HttpSession: Improve error message when someone forgot to pass catch\_response=True + small optimization [\#2762](https://github.com/locustio/locust/pull/2762) ([cyberw](https://github.com/cyberw))
16
+ - Add JavaScript to MIME types for Windows Operating Systems [\#2759](https://github.com/locustio/locust/pull/2759) ([andrewbaldwin44](https://github.com/andrewbaldwin44))
17
+ - Add proxy support for FastHttpUser [\#2758](https://github.com/locustio/locust/pull/2758) ([NicoAdrian](https://github.com/NicoAdrian))
18
+ - Httpsession requests typing [\#2699](https://github.com/locustio/locust/pull/2699) ([tdadela](https://github.com/tdadela))
19
+
4
20
  ## [2.29.0](https://github.com/locustio/locust/tree/2.29.0) (2024-06-07)
5
21
 
6
22
  [Full Changelog](https://github.com/locustio/locust/compare/2.28.0...2.29.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.29.1.dev31
3
+ Version: 2.29.2.dev6
4
4
  Summary: Developer-friendly load testing framework
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/locustio/locust
@@ -4,6 +4,12 @@ Changelog Highlights
4
4
 
5
5
  For full details of the Locust changelog, please see https://github.com/locustio/locust/blob/master/CHANGELOG.md
6
6
 
7
+ 2.29.1
8
+ ======
9
+ * Add option to Skip Monkey Patching with LOCUST_SKIP_MONKEY_PATCH https://github.com/locustio/locust/pull/2765
10
+ * HttpSession requests typing https://github.com/locustio/locust/pull/2699
11
+ * Add proxy support for FastHttpUser https://github.com/locustio/locust/pull/2758
12
+
7
13
  2.29.0
8
14
  ======
9
15
  * Ensure spawning_complete only happens once on workers https://github.com/locustio/locust/pull/2728
@@ -111,7 +111,7 @@ FastHttpUser class
111
111
  --------------------
112
112
 
113
113
  .. autoclass:: locust.contrib.fasthttp.FastHttpUser
114
- :members: network_timeout, connection_timeout, max_redirects, max_retries, insecure, concurrency, client_pool, rest, rest_
114
+ :members: network_timeout, connection_timeout, max_redirects, max_retries, insecure, proxy_host, proxy_port, concurrency, client_pool, rest, rest_
115
115
 
116
116
 
117
117
  FastHttpSession class
@@ -14,6 +14,8 @@ class WebsiteUser(FastHttpUser):
14
14
  # max_redirects = 5
15
15
  # max_retries = 1
16
16
  # network_timeout = 60.0
17
+ # proxy_host = my-proxy.com
18
+ # proxy_port = 8080
17
19
 
18
20
  @task
19
21
  def index(self):
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '2.29.1.dev31'
16
- __version_tuple__ = version_tuple = (2, 29, 1, 'dev31')
15
+ __version__ = version = '2.29.2.dev6'
16
+ __version_tuple__ = version_tuple = (2, 29, 2, 'dev6')
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
7
7
  from urllib.parse import urlparse, urlunparse
8
8
 
9
9
  import requests
10
- from requests import Request, Response
10
+ from requests import Response
11
11
  from requests.adapters import HTTPAdapter
12
12
  from requests.auth import HTTPBasicAuth
13
13
  from requests.exceptions import InvalidSchema, InvalidURL, MissingSchema, RequestException
@@ -54,8 +54,10 @@ absolute_http_url_regexp = re.compile(r"^https?://", re.I)
54
54
 
55
55
 
56
56
  class LocustResponse(Response):
57
- def raise_for_status(self):
58
- if hasattr(self, "error") and self.error:
57
+ error: Exception | None = None
58
+
59
+ def raise_for_status(self) -> None:
60
+ if self.error:
59
61
  raise self.error
60
62
  Response.raise_for_status(self)
61
63
 
@@ -112,7 +114,7 @@ class HttpSession(requests.Session):
112
114
  self.mount("https://", LocustHttpAdapter(pool_manager=pool_manager))
113
115
  self.mount("http://", LocustHttpAdapter(pool_manager=pool_manager))
114
116
 
115
- def _build_url(self, path):
117
+ def _build_url(self, path) -> str:
116
118
  """prepend url with hostname unless it's already an absolute URL"""
117
119
  if absolute_http_url_regexp.match(path):
118
120
  return path
@@ -191,7 +193,7 @@ class HttpSession(requests.Session):
191
193
  response_time = (time.perf_counter() - start_perf_counter) * 1000
192
194
 
193
195
  request_before_redirect = (response.history and response.history[0] or response).request
194
- url = request_before_redirect.url
196
+ url = request_before_redirect.url # type: ignore
195
197
 
196
198
  if not name:
197
199
  name = request_before_redirect.path_url
@@ -225,7 +227,7 @@ class HttpSession(requests.Session):
225
227
  pass
226
228
  return response
227
229
 
228
- def _send_request_safe_mode(self, method, url, **kwargs):
230
+ def _send_request_safe_mode(self, method, url, **kwargs) -> Response | LocustResponse:
229
231
  """
230
232
  Send an HTTP request, and catch any exception that might occur due to connection problems.
231
233
 
@@ -238,8 +240,8 @@ class HttpSession(requests.Session):
238
240
  except RequestException as e:
239
241
  r = LocustResponse()
240
242
  r.error = e
241
- r.status_code = 0 # with this status_code, content returns None
242
- r.request = Request(method, url).prepare()
243
+ r.status_code = 0
244
+ r.request = e.request # type: ignore
243
245
  return r
244
246
 
245
247
  def get(
@@ -440,17 +442,11 @@ class LocustHttpAdapter(HTTPAdapter):
440
442
 
441
443
 
442
444
  # Monkey patch Response class to give some guidance
443
- def _success(self):
444
- raise LocustError(
445
- "If you want to change the state of the request, you must pass catch_response=True. See http://docs.locust.io/en/stable/writing-a-locustfile.html#validating-responses"
446
- )
447
-
448
-
449
- def _failure(self):
445
+ def _missing_catch_response_True(self, *_args, **_kwargs):
450
446
  raise LocustError(
451
- "If you want to change the state of the request, you must pass catch_response=True. See http://docs.locust.io/en/stable/writing-a-locustfile.html#validating-responses"
447
+ "If you want to change the state of the request using .success() or .failure(), you must pass catch_response=True. See http://docs.locust.io/en/stable/writing-a-locustfile.html#validating-responses"
452
448
  )
453
449
 
454
450
 
455
- Response.success = _success # type: ignore[attr-defined]
456
- Response.failure = _failure # type: ignore[attr-defined]
451
+ Response.success = _missing_catch_response_True # type: ignore[attr-defined]
452
+ Response.failure = _missing_catch_response_True # type: ignore[attr-defined]
@@ -157,7 +157,7 @@ class FastHttpSession:
157
157
  headers: dict | None = None,
158
158
  auth=None,
159
159
  json: dict | None = None,
160
- allow_redirects=True,
160
+ allow_redirects: bool = True,
161
161
  context: dict = {},
162
162
  **kwargs,
163
163
  ) -> ResponseContextManager | FastResponse:
@@ -187,6 +187,7 @@ class FastHttpSession:
187
187
  and can instead be consumed by accessing the stream attribute on the Response object.
188
188
  Another side effect of setting stream to True is that the time for downloading the response
189
189
  content will not be accounted for in the request time that is reported by Locust.
190
+ :param allow_redirects: (optional) Set to True by default.
190
191
  """
191
192
  # prepend url with hostname unless it's already an absolute URL
192
193
  built_url = self._build_url(url)
@@ -250,7 +251,7 @@ class FastHttpSession:
250
251
  # Record the consumed time
251
252
  # Note: This is intentionally placed after we record the content_size above, since
252
253
  # we'll then trigger fetching of the body (unless stream=True)
253
- request_meta["response_time"] = int((time.perf_counter() - start_perf_counter) * 1000)
254
+ request_meta["response_time"] = (time.perf_counter() - start_perf_counter) * 1000
254
255
 
255
256
  if catch_response:
256
257
  return ResponseContextManager(response, environment=self.environment, request_meta=request_meta)
@@ -264,6 +265,7 @@ class FastHttpSession:
264
265
  return response
265
266
 
266
267
  def delete(self, url, **kwargs):
268
+ """Sends a DELETE request"""
267
269
  return self.request("DELETE", url, **kwargs)
268
270
 
269
271
  def get(self, url, **kwargs):
@@ -279,12 +281,12 @@ class FastHttpSession:
279
281
  return self.request("OPTIONS", url, **kwargs)
280
282
 
281
283
  def patch(self, url, data=None, **kwargs):
282
- """Sends a POST request"""
284
+ """Sends a PATCH request"""
283
285
  return self.request("PATCH", url, data=data, **kwargs)
284
286
 
285
- def post(self, url, data=None, **kwargs):
287
+ def post(self, url, data=None, json=None, **kwargs):
286
288
  """Sends a POST request"""
287
- return self.request("POST", url, data=data, **kwargs)
289
+ return self.request("POST", url, data=data, json=json, **kwargs)
288
290
 
289
291
  def put(self, url, data=None, **kwargs):
290
292
  """Sends a PUT request"""
@@ -324,6 +326,12 @@ class FastHttpUser(User):
324
326
  Note that setting this value has no effect when custom client_pool was given, and you need to spawn a your own gevent pool
325
327
  to use it (as Users only have one greenlet). See test_fasthttp.py / test_client_pool_concurrency for an example."""
326
328
 
329
+ proxy_host: str | None = None
330
+ """Parameter passed to FastHttpSession"""
331
+
332
+ proxy_port: int | None = None
333
+ """Parameter passed to FastHttpSession"""
334
+
327
335
  client_pool: HTTPClientPool | None = None
328
336
  """HTTP client pool to use. If not given, a new pool is created per single user."""
329
337
 
@@ -355,6 +363,8 @@ class FastHttpUser(User):
355
363
  client_pool=self.client_pool,
356
364
  ssl_context_factory=self.ssl_context_factory,
357
365
  headers=self.default_headers,
366
+ proxy_host=self.proxy_host,
367
+ proxy_port=self.proxy_port,
358
368
  )
359
369
  """
360
370
  Instance of HttpSession that is created upon instantiation of User.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.29.1.dev31
3
+ Version: 2.29.2.dev6
4
4
  Summary: Developer-friendly load testing framework
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/locustio/locust
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes