Skip to main content

File adapter for the Requests library.

Project description


title: README

Synopsis

A file adapter for the Requests library. This adapter is similar to and inspired by Requests-File but with the following changes:

  • HEAD requests return a response without content instead of opening the file.
  • The following HTTP response headers are set for regular files:
    • Content-Length (always)
    • Last-Modified (always)
    • Content-Type (if successfully detected by the mimetypes package)
    • Content-Encoding (if successfully detected by the mimetypes package)
  • The request supports URI hosts that resolve to the localhost or any local IP address.
  • A convenience function is provided to get a requests.Session object with the provided file adapter already mounted.

Links

GitLab

Other Repositories

Installation

Install the requests_file_adapter package with your Python package manager, e.g.

pip install requests_file_adapter

Usage

Using the get_session function:

import pathlib
from requests_file_adapter import get_session

path = pathlib.Path("example.txt").resolve()
uri = path.as_uri

session = get_session()
resp = session.get(uri)
for header, value in resp.headers.items():
    print(header, value)
print(header.content)

Alternatively, create the session without using the get_session function:

import requests
from requests_file_adapter import FileAdapter

session = requests.Session()
session.mount("file://", FileAdapter())

# ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests_file_adapter-2024.3.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

requests_file_adapter-2024.3-py3-none-any.whl (6.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page