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)timeout: float = 30.0-- Socket timeout in secondsverify_ssl: bool = True-- Verify SSL certificates
request(method, url, headers=None, body=None, auth=None) -> Responseget(url, headers=None, auth=None) -> Responsepost(url, headers=None, body=None, auth=None) -> 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 | Nonefrom 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 # floatfrom httping.formatters import TextFormatter
formatter = TextFormatter()
text = formatter.format(response, verbose=True)from httping.formatters import JsonFormatter
formatter = JsonFormatter()
json_text = formatter.format(response)from httping.batch import BatchRunner
runner = BatchRunner()
definitions = runner.load_definitions("requests.yaml")
responses = runner.run(definitions)from httping.compare import Comparator
comparator = Comparator(threshold_ms=100.0)
result = comparator.compare(baseline_response, current_response)
print(result.passed)