OXIESEC PANEL
- Current Dir:
/
/
lib
/
python3.6
/
site-packages
/
urllib3
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/07/2025 11:05:01 PM
rwxr-xr-x
📄
__init__.py
2.66 KB
04/17/2019 05:46:22 PM
rw-r--r--
📁
__pycache__
-
12/06/2024 10:10:39 AM
rwxr-xr-x
📄
_collections.py
11.04 KB
08/13/2024 07:35:04 PM
rw-r--r--
📄
connection.py
14.01 KB
08/13/2024 07:35:04 PM
rw-r--r--
📄
connectionpool.py
34.56 KB
08/13/2024 07:35:04 PM
rw-r--r--
📁
contrib
-
12/06/2024 10:10:39 AM
rwxr-xr-x
📄
exceptions.py
6.45 KB
04/17/2019 05:46:22 PM
rw-r--r--
📄
fields.py
5.8 KB
04/17/2019 05:46:22 PM
rw-r--r--
📄
filepost.py
2.38 KB
04/17/2019 05:46:22 PM
rw-r--r--
📁
packages
-
12/06/2024 10:10:39 AM
rwxr-xr-x
📄
poolmanager.py
16.82 KB
08/13/2024 07:35:04 PM
rw-r--r--
📄
request.py
5.85 KB
04/17/2019 05:46:22 PM
rw-r--r--
📄
response.py
25.01 KB
04/17/2019 05:46:22 PM
rw-r--r--
📁
util
-
12/06/2024 10:10:39 AM
rwxr-xr-x
Editing: filepost.py
Close
from __future__ import absolute_import import binascii import codecs import os 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. """ boundary = binascii.hexlify(os.urandom(16)) if six.PY3: boundary = boundary.decode('ascii') return boundary 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:`urllib3.filepost.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