Quick Start
This guide will help you get started with HTTP Client in 5 minutes.
Simple GET Request
from requestforge import create_client
# Create a client
client = create_client('https://api.github.com')
# Make a GET request
response = client.get('/users/octocat')
# Check response
if response.is_success:
user = response.json()
print(f"User: {user['name']}")
else:
print(f"Error: {response.status_code}")
POST Request with JSON
from requestforge import HttpClient, HttpClientConfigBuilder
config = (
HttpClientConfigBuilder()
.with_base_url('https://api.example.com')
.with_header('Content-Type', 'application/json')
.build()
)
client = HttpClient(config)
# POST request with JSON data
response = client.post(
'/users',
json_data={
'name': 'John Doe',
'email': 'john@example.com'
}
)
if response.status_code == 201:
new_user = response.json()
print(f"Created user ID: {new_user['id']}")
With Authentication
from requestforge import HttpClientConfigBuilder, HttpClient
config = (
HttpClientConfigBuilder()
.with_base_url('https://api.example.com')
.with_bearer_token('your-api-token')
.build()
)
client = HttpClient(config)
response = client.get('/protected-resource')
With Retry Logic
from requestforge import HttpClientConfigBuilder, HttpClient
config = (
HttpClientConfigBuilder()
.with_base_url('https://api.example.com')
.with_retry(
max_retries=3,
base_delay=1.0,
max_delay=60.0
)
.build()
)
client = HttpClient(config)
# Automatically retries on failures
response = client.get('/unstable-endpoint')
Using Context Manager
from requestforge import http_client
with http_client('https://api.example.com') as client:
response = client.get('/users')
users = response.json()
# Client automatically closed after with block
Error Handling
from requestforge import HttpClient, TimeoutException, HttpStatusException
client = HttpClient(config)
try:
response = client.get('/users/1')
user = response.json()
except TimeoutException:
print("Request timed out")
except HttpStatusException as e:
print(f"HTTP error {e.status_code}: {e.message}")
except Exception as e:
print(f"Unexpected error: {e}")
Next Steps
Read the Configuration guide for advanced setup
Explore Authentication for token management
Learn about Retry Strategies for robust requests
Check out OAuth2 Flow Examples for real-world examples