Skip to main content

Use requests to talk HTTP via a UNIX domain socket

Project description

Latest Version https://travis-ci.org/msabramo/requests-unixsocket.svg?branch=master

Use requests to talk HTTP via a UNIX domain socket

Usage

Explicit

You can use it by instantiating a special Session object:

import requests_unixsocket

session = requests_unixsocket.Session()

# Access /path/to/page from /tmp/profilesvc.sock
r = session.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
assert r.status_code == 200

Implicit (monkeypatching)

Monkeypatching allows you to use the functionality in this module, while making minimal changes to your code. Note that in the above example we had to instantiate a special requests_unixsocket.Session object and call the get method on that object. Calling requests.get(url) (the easiest way to use requests and probably very common), would not work. But we can make it work by doing monkeypatching.

You can monkeypatch globally:

import requests_unixsocket

requests_unixsocket.monkeypatch()

# Access /path/to/page from /tmp/profilesvc.sock
r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
assert r.status_code == 200

or you can do it temporarily using a context manager:

import requests_unixsocket

with requests_unixsocket.monkeypatch():
    # Access /path/to/page from /tmp/profilesvc.sock
    r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
    assert r.status_code == 200

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-unixsocket-0.1.4.tar.gz (9.8 kB view details)

Uploaded Source

File details

Details for the file requests-unixsocket-0.1.4.tar.gz.

File metadata

File hashes

Hashes for requests-unixsocket-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ba2c86a7e993ee8495f922a31d0cab6bc69f1ee33c5cca58e2ae85c2a6234368
MD5 7b3cbacb44480d9b186a9abb7c841790
BLAKE2b-256 c40f449d2d43016596ae3a30199b1d9b0373a30afb8d1a29d56a2a788c263ff7

See more details on using hashes here.

Supported by

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