Coverage for requests.packages.urllib3.filepost : 29%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
""" Our embarassingly-simple replacement for mimetools.choose_boundary. """ return uuid4().hex
""" 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)
""" .. 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)
""" 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 |