Server IP : 195.201.23.43 / Your IP : 3.146.37.183 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/requests_unixsocket-0.2.0.egg-info/ |
Upload File : |
Metadata-Version: 1.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 Description: 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 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.6Private