Skip to content

3XE/requests-unixsocket

 
 

Repository files navigation

requests-unixsocket

Latest Version

image

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

About

Use requests to talk HTTP via a UNIX domain socket

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%