FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
netdata/python.d/python_modules/urllib3/filepost.py at master · fars/netdata · GitHub
fars
/
netdata
Public
forked from
netdata/netdata
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
netdata
/
python.d
/
python_modules
/
urllib3
/
filepost.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
94 lines (66 loc) · 2.27 KB
Breadcrumbs
netdata
/
python.d
/
python_modules
/
urllib3
/
filepost.py
Copy path
File metadata and controls
94 lines (66 loc) · 2.27 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
from
__future__
import
absolute_import
import
codecs
from
uuid
import
uuid4
from
io
import
BytesIO
from
.
packages
import
six
from
.
packages
.
six
import
b
from
.
fields
import
RequestField
writer
=
codecs
.
lookup
(
'utf-8'
)[
3
]
def
choose_boundary
():
"""
Our embarrassingly-simple replacement for mimetools.choose_boundary.
"""
return
uuid4
().
hex
def
iter_field_objects
(
fields
):
"""
Iterate over fields.
Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.
"""
if
isinstance
(
fields
,
dict
):
i
=
six
.
iteritems
(
fields
)
else
:
i
=
iter
(
fields
)
for
field
in
i
:
if
isinstance
(
field
,
RequestField
):
yield
field
else
:
yield
RequestField
.
from_tuples
(
*
field
)
def
iter_fields
(
fields
):
"""
.. deprecated:: 1.6
Iterate over fields.
The addition of :class:`~urllib3.fields.RequestField` makes this function
obsolete. Instead, use :func:`iter_field_objects`, which returns
:class:`~urllib3.fields.RequestField` objects.
Supports list of (k, v) tuples and dicts.
"""
if
isinstance
(
fields
,
dict
):
return
((
k
,
v
)
for
k
,
v
in
six
.
iteritems
(
fields
))
return
((
k
,
v
)
for
k
,
v
in
fields
)
def
encode_multipart_formdata
(
fields
,
boundary
=
None
):
"""
Encode a dictionary of ``fields`` using the multipart/form-data MIME format.
:param fields:
Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).
:param boundary:
If not specified, then a random boundary will be generated using
:func:`mimetools.choose_boundary`.
"""
body
=
BytesIO
()
if
boundary
is
None
:
boundary
=
choose_boundary
()
for
field
in
iter_field_objects
(
fields
):
body
.
write
(
b
(
'--%s
\r
\n
'
%
(
boundary
)))
writer
(
body
).
write
(
field
.
render_headers
())
data
=
field
.
data
if
isinstance
(
data
,
int
):
data
=
str
(
data
)
# Backwards compatibility
if
isinstance
(
data
,
six
.
text_type
):
writer
(
body
).
write
(
data
)
else
:
body
.
write
(
data
)
body
.
write
(
b'
\r
\n
'
)
body
.
write
(
b
(
'--%s--
\r
\n
'
%
(
boundary
)))
content_type
=
str
(
'multipart/form-data; boundary=%s'
%
boundary
)
return
body
.
getvalue
(),
content_type
Back
|
FazBrowse Home
|
New Git URL