diff options
Diffstat (limited to 'third_party/python/requests_unixsocket/requests_unixsocket-0.2.0.dist-info/METADATA')
-rw-r--r-- | third_party/python/requests_unixsocket/requests_unixsocket-0.2.0.dist-info/METADATA | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/third_party/python/requests_unixsocket/requests_unixsocket-0.2.0.dist-info/METADATA b/third_party/python/requests_unixsocket/requests_unixsocket-0.2.0.dist-info/METADATA new file mode 100644 index 0000000000..54234d6ab2 --- /dev/null +++ b/third_party/python/requests_unixsocket/requests_unixsocket-0.2.0.dist-info/METADATA @@ -0,0 +1,117 @@ +Metadata-Version: 2.1 +Name: requests-unixsocket +Version: 0.2.0 +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 :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Requires-Dist: requests (>=1.1) +Requires-Dist: urllib3 (>=1.8) + +requests-unixsocket +=================== + +.. image:: https://badge.fury.io/py/requests-unixsocket.svg + :target: https://badge.fury.io/py/requests-unixsocket + :alt: Latest Version on PyPI + +.. 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 json + + import requests_unixsocket + + session = requests_unixsocket.Session() + + r = session.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info') + registry_config = r.json()['RegistryConfig'] + print(json.dumps(registry_config, indent=4)) + + +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() + + r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info') + 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(): + r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info') + assert r.status_code == 200 + + +Abstract namespace sockets +++++++++++++++++++++++++++ + +To connect to an `abstract namespace +socket <https://utcc.utoronto.ca/~cks/space/blog/python/AbstractUnixSocketsAndPeercred>`_ +(Linux only), prefix the name with a NULL byte (i.e.: `\0`) - e.g.: + +.. code-block:: python + + import requests_unixsocket + + session = requests_unixsocket.Session() + res = session.get('http+unix://\0test_socket/get') + print(res.text) + +For an example program that illustrates this, see +``examples/abstract_namespace.py`` in the git repo. Since abstract namespace +sockets are specific to Linux, the program will only work on Linux. + + +See also +-------- + +- https://github.com/httpie/httpie-unixsocket - a plugin for `HTTPie <https://httpie.org/>`_ that allows you to interact with UNIX domain sockets + + + |