REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 3.98 KB
Close
//lib/python3.6/site-packages/rhn/transports.py
Text
Base64
# # Helper transport objects # # Copyright (c) 2002--2020 Red Hat, Inc. # # Author: Mihai Ibanescu <misa@redhat.com> # Based on what was previously shipped as cgiwrap: # - Cristian Gafton <gafton@redhat.com> # - Erik Troan <ewt@redhat.com> import xmlrpc import requests import xmlrpc.client as xmlrpclib __version__ = "3.0.3-1.module_el8.10.0+7020+fd2ced8d.cloudlinux-" class RequestsTransport(xmlrpc.client.Transport): """ Drop in Transport for xmlrpclib that uses Requests instead of httplib """ user_agent = "rhn.rpclib.py/%s" % __version__ def __init__( self, use_https = True, https_verify = True, timeout = None, proxy = None ): self.https_verify = https_verify self.use_https = use_https self.timeout = timeout self._injected_headers = {} self.proxy_uri = proxy super(RequestsTransport, self).__init__() def set_header(self, name, arg): if type(arg) in [ type([]), type(()) ]: self._injected_headers[name] = [str(a) for a in arg] else: self._injected_headers[name] = str(arg) def add_header(self, name, arg): if name in self._injected_headers: vlist = self._injected_headers[name] if not isinstance(vlist, list): vlist = [ vlist ] else: vlist = self._injected_headers[name] = [] vlist.append(str(arg)) def clear_headers(self): self._headers.clear() def set_trusted_cert(self, certfile): self.https_verify = certfile def get_injected_headers(self): for name, arg in self._injected_headers.items(): if type(arg) in [type([]), type(())]: # Multi-valued header # # Per RFC 2616, section 4.2 (Message Headers): # Multiple message-header fields with the same field-name MAY be # present in a message if and only if the entire field-value for # the header field is defined as a comma-separated list [i.e. # #(values)]. It MUST be possible to combine the multiple header # fields into one "field-name: field-value" pair, without # changing the semantics of the message, by appending each # subsequent field-value to the first, each separated by a comma. arg = ','.join(map(str, arg)) yield name, arg def request(self, host, handler, request_body, verbose=False): """ Make an xmlrpc request. """ headers = { 'User-Agent': self.user_agent, 'Content-Type': 'text/xml', 'Accept': '*/*', } extra_headers = dict(self.get_injected_headers()) url = self._build_url(host, handler) kwargs = { 'verify': self.https_verify } resp = requests.post( url, data=request_body, headers={ **headers, **extra_headers }, timeout=self.timeout, proxies={ 'http': self.proxy_uri, 'https': self.proxy_uri }, **kwargs ) try: resp.raise_for_status() except requests.RequestException as e: raise xmlrpc.client.ProtocolError(url, resp.status_code, str(e), resp.headers) else: return self.parse_response(resp) def parse_response(self, response): """ Parse the xmlrpc response. """ p, u = self.getparser() p.feed(response.content) p.close() return u.close() def _build_url(self, host, handler): """ Build a url for our request based on the host, handler and use_http property """ scheme = 'https' if self.use_https else 'http' handler = handler.lstrip('/') return '%s://%s/%s' % (scheme, host, handler)
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 2 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
actions
DIR
-
drwxr-xr-x
2026-05-29 07:17:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__pycache__
DIR
-
drwxr-xr-x
2026-05-29 07:17:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
connections.py
666 B
lrw-r--r--
2026-04-24 15:42:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
i18n.py
1.73 KB
lrw-r--r--
2026-04-24 15:42:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
rhnLockfile.py
3.35 KB
lrw-r--r--
2026-04-24 15:42:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
rpclib.py
4.60 KB
lrw-r--r--
2026-04-27 12:46:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
transports.py
3.98 KB
lrw-r--r--
2026-04-27 12:46:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.py
132 B
lrw-r--r--
2026-04-24 15:42:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).