personal-website/_projects/asyncreq.md

2.1 KiB

layout title description github importance category
page calpkgs A lightweight Python library for making asynchronous HTTP requests. https://git.slc.ar/slococo/asyncreq 6 personal

This library provides two convenient methods for interacting with RESTful APIs in an asynchronous manner.

Installation

To install the library, use the following pip command:

pip install asyncreq

Usage

make_request

The make_request method allows you to make asynchronous HTTP requests with flexible options. Here's an example of how to use it:

from asyncreq import make_request

async def example_usage():
    url = "https://api.example.com/resource"
    method = "GET"
    headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
    
    try:
        response_data, status_code, response_headers = await make_request(
            url=url,
            method=method,
            headers=headers,
            # Add other optional parameters as needed
        )
        print(f"Response Data: {response_data}")
        print(f"Status Code: {status_code}")
        print(f"Response Headers: {response_headers}")
    except Exception as e:
        print(f"An error occurred: {e}")

request

The request method is a simplified wrapper around make_request with added error handling. It raises appropriate exceptions for common HTTP-related errors:

from asyncreq import request, HTTPException

async def example_usage():
    url = "https://api.example.com/resource"
    method = "GET"
    headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
    
    try:
        response_data, status_code, response_headers = await request(
            url=url,
            method=method,
            headers=headers,
            # Add other optional parameters as needed
        )
        print(f"Response Data: {response_data}")
        print(f"Status Code: {status_code}")
        print(f"Response Headers: {response_headers}")
    except HTTPException as e:
        print(f"An HTTP error occurred: {e}")

Note: make sure to use await as demonstrated in the examples above.