Metadata-Version: 2.1
Name: requests-unixsocket
Version: 0.1.5
Summary: Use requests to talk HTTP via a UNIX domain socket
Home-page: https://github.com/msabramo/requests-unixsocket
Author: Marc Abramowitz
Author-email: marc@marc-abramowitz.com
License: Apache-2
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: requests (>=1.1)
Requires-Dist: urllib3 (>=1.8)

requests-unixsocket
===================

.. image:: https://pypip.in/version/requests-unixsocket/badge.svg?style=flat
    :target: https://pypi.python.org/pypi/requests-unixsocket/
    :alt: Latest Version

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

Use `requests <http://docs.python-requests.org/>`_ to talk HTTP via a UNIX domain socket

Usage
-----

Explicit
++++++++

You can use it by instantiating a special ``Session`` object:

.. code-block:: python

    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:

.. code-block:: python

    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:

.. code-block:: python

    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



