HTTP Functions

RequestX provides top-level functions for making HTTP requests.

get

Send a GET request.

requestx.get(url, params=None, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
params dict URL query parameters
headers dict HTTP headers
cookies dict Cookies to send
auth Auth Authentication
timeout Timeout Request timeout
follow_redirects bool Follow redirects (default: True)

Returns: Response object

Example:

import requestx

# Simple GET
response = requestx.get("https://httpbin.org/get")

# With parameters
response = requestx.get(
    "https://httpbin.org/get",
    params={"key": "value"},
    headers={"Accept": "application/json"},
)

post

Send a POST request.

requestx.post(url, data=None, json=None, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
data dict/bytes Form data or raw bytes
json dict/list JSON data (auto-serialized)
content bytes Raw content
headers dict HTTP headers
timeout Timeout Request timeout

Returns: Response object

Example:

import requestx

# POST with JSON
response = requestx.post(
    "https://httpbin.org/post",
    json={"name": "John", "age": 30}
)

# POST with form data
response = requestx.post(
    "https://httpbin.org/post",
    data={"username": "john", "password": "secret"}
)

put

Send a PUT request.

requestx.put(url, data=None, json=None, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
data dict/bytes Form data or raw bytes
json dict/list JSON data
headers dict HTTP headers
timeout Timeout Request timeout

Returns: Response object

Example:

import requestx

response = requestx.put(
    "https://httpbin.org/put",
    json={"updated": True}
)

patch

Send a PATCH request.

requestx.patch(url, data=None, json=None, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
data dict/bytes Form data or raw bytes
json dict/list JSON data
headers dict HTTP headers
timeout Timeout Request timeout

Returns: Response object

Example:

import requestx

response = requestx.patch(
    "https://httpbin.org/patch",
    json={"field": "new_value"}
)

delete

Send a DELETE request.

requestx.delete(url, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
headers dict HTTP headers
timeout Timeout Request timeout

Returns: Response object

Example:

import requestx

response = requestx.delete("https://httpbin.org/delete")

Send a HEAD request.

requestx.head(url, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
headers dict HTTP headers
timeout Timeout Request timeout
follow_redirects bool Follow redirects

Returns: Response object (with empty body)

Example:

import requestx

response = requestx.head("https://httpbin.org/get")
print(f"Content-Length: {response.headers.get('content-length')}")

options

Send an OPTIONS request.

requestx.options(url, **kwargs) -> Response

Parameters:

Parameter Type Description
url str URL for the request
headers dict HTTP headers
timeout Timeout Request timeout

Returns: Response object

Example:

import requestx

response = requestx.options("https://httpbin.org/get")
print(f"Allowed: {response.headers.get('allow')}")

request

Send a request with a custom HTTP method.

requestx.request(method, url, **kwargs) -> Response

Parameters:

Parameter Type Description
method str HTTP method (GET, POST, etc.)
url str URL for the request
**kwargs Same as other methods

Returns: Response object

Example:

import requestx

# Custom method
response = requestx.request("CUSTOM", "https://api.example.com/endpoint")

# Equivalent to requestx.get()
response = requestx.request("GET", "https://httpbin.org/get")

Common Parameters

All functions accept these common parameters:

Parameter Type Default Description
params dict None URL query parameters
headers dict None HTTP headers
cookies dict None Cookies to send
auth Auth None Authentication
timeout Timeout/float None Request timeout
follow_redirects bool True Follow HTTP redirects

Timeout Examples

import requestx

# Simple timeout (seconds)
response = requestx.get("https://httpbin.org/get", timeout=10.0)

# Detailed timeout configuration
timeout = requestx.Timeout(
    timeout=30.0,   # Total timeout
    connect=5.0,    # Connection timeout
    read=10.0,      # Read timeout
)
response = requestx.get("https://httpbin.org/get", timeout=timeout)

Authentication Examples

import requestx

# Basic auth
response = requestx.get(
    "https://httpbin.org/basic-auth/user/pass",
    auth=requestx.Auth.basic("user", "pass")
)

# Bearer token
response = requestx.get(
    "https://api.example.com/data",
    auth=requestx.Auth.bearer("your-token")
)