Skip to content

Latest commit

 

History

History
100 lines (70 loc) · 1.94 KB

File metadata and controls

100 lines (70 loc) · 1.94 KB

API Reference

httping.client

HttpClient

Zero-dependency HTTP client using http.client.

from httping.client import HttpClient

client = HttpClient(timeout=30.0, verify_ssl=True)
response = client.request("GET", "https://api.example.com")
print(response.status)
print(response.body)
print(response.timing.total_ms)

Constructor

  • timeout: float = 30.0 -- Socket timeout in seconds
  • verify_ssl: bool = True -- Verify SSL certificates

Methods

  • request(method, url, headers=None, body=None, auth=None) -> Response
  • get(url, headers=None, auth=None) -> Response
  • post(url, headers=None, body=None, auth=None) -> Response

Response

from httping.client import Response

response.status      # int
response.reason      # str
response.headers     # dict[str, str]
response.body        # str
response.timing      # Timing
response.url         # str
response.method      # str
response.error       # str | None

Timing

from httping.client import Timing

timing.dns_ms        # float
timing.connect_ms    # float
timing.send_ms       # float
timing.wait_ms       # float
timing.receive_ms    # float
timing.total_ms      # float

httping.formatters

TextFormatter

from httping.formatters import TextFormatter

formatter = TextFormatter()
text = formatter.format(response, verbose=True)

JsonFormatter

from httping.formatters import JsonFormatter

formatter = JsonFormatter()
json_text = formatter.format(response)

httping.batch

BatchRunner

from httping.batch import BatchRunner

runner = BatchRunner()
definitions = runner.load_definitions("requests.yaml")
responses = runner.run(definitions)

httping.compare

Comparator

from httping.compare import Comparator

comparator = Comparator(threshold_ms=100.0)
result = comparator.compare(baseline_response, current_response)
print(result.passed)