Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
xmlrpc.py
Go to the documentation of this file.
1
"""xmlrpclib.Transport implementation
2
"""
3
4
import
logging
5
import
urllib.parse
6
import
xmlrpc.client
7
from
typing
import
TYPE_CHECKING, Tuple
8
9
from
pip._internal.exceptions
import
NetworkConnectionError
10
from
pip._internal.network.session
import
PipSession
11
from
pip._internal.network.utils
import
raise_for_status
12
13
if
TYPE_CHECKING:
14
from
xmlrpc.client
import
_HostType, _Marshallable
15
16
logger =
logging.getLogger
(__name__)
17
18
19
class
PipXmlrpcTransport
(
xmlrpc.client.Transport
):
20
"""Provide a `xmlrpclib.Transport` implementation via a `PipSession`
21
object.
22
"""
23
24
def
__init__
(
25
self, index_url: str, session: PipSession, use_datetime: bool =
False
26
) ->
None
:
27
super
().
__init__
(use_datetime)
28
index_parts =
urllib.parse.urlparse
(index_url)
29
self.
_scheme
=
index_parts.scheme
30
self.
_session
= session
31
32
def
request(
33
self,
34
host:
"_HostType"
,
35
handler: str,
36
request_body: bytes,
37
verbose: bool =
False
,
38
) -> Tuple[
"_Marshallable"
, ...]:
39
assert
isinstance
(host, str)
40
parts = (self.
_scheme
, host, handler,
None
,
None
,
None
)
41
url =
urllib.parse.urlunparse
(parts)
42
try
:
43
headers = {
"Content-Type"
:
"text/xml"
}
44
response = self.
_session
.post(
45
url,
46
data=request_body,
47
headers=headers,
48
stream=
True
,
49
)
50
raise_for_status(response)
51
self.
verbose
= verbose
52
return
self.parse_response(
response.raw
)
53
except
NetworkConnectionError
as
exc:
54
assert
exc.response
55
logger.critical
(
56
"HTTP error %s while getting %s"
,
57
exc.response.status_code
,
58
url,
59
)
60
raise
pip._internal.network.xmlrpc.PipXmlrpcTransport
Definition
xmlrpc.py:19
pip._internal.network.xmlrpc.PipXmlrpcTransport._scheme
_scheme
Definition
xmlrpc.py:29
pip._internal.network.xmlrpc.PipXmlrpcTransport.verbose
verbose
Definition
xmlrpc.py:51
pip._internal.network.xmlrpc.PipXmlrpcTransport._session
_session
Definition
xmlrpc.py:30
pip._internal.network.xmlrpc.PipXmlrpcTransport.__init__
None __init__(self, str index_url, PipSession session, bool use_datetime=False)
Definition
xmlrpc.py:26
pip._internal.exceptions
Definition
exceptions.py:1
pip._internal.network.session
Definition
session.py:1
pip._internal.network.utils
Definition
utils.py:1
xmlrpc.client
i
for i
Definition
prime_search.m:10
venv
lib
python3.12
site-packages
pip
_internal
network
xmlrpc.py
Generated by
1.9.8