コード例 #1
0
ファイル: wsgi.py プロジェクト: Verzekeringssitenl/netlib
 def start_response(status, headers, exc_info=None):
     if exc_info:
         if state["headers_sent"]:
             six.reraise(*exc_info)
     elif state["status"]:
         raise AssertionError("Response already started")
     state["status"] = status
     state["headers"] = http.Headers([[always_bytes(k), always_bytes(v)] for k, v in headers])
     if exc_info:
         self.error_page(soc, state["headers_sent"], traceback.format_tb(exc_info[2]))
         state["headers_sent"] = True
コード例 #2
0
ファイル: wsgi.py プロジェクト: thomasbhatia/mitmproxy
 def start_response(status, headers, exc_info=None):
     if exc_info:
         if state["headers_sent"]:
             six.reraise(*exc_info)
     elif state["status"]:
         raise AssertionError('Response already started')
     state["status"] = status
     state["headers"] = http.Headers([[always_bytes(k), always_bytes(v)] for k, v in headers])
     if exc_info:
         self.error_page(soc, state["headers_sent"], traceback.format_tb(exc_info[2]))
         state["headers_sent"] = True
コード例 #3
0
ファイル: headers.py プロジェクト: kostyll/netlib
    from collections.abc import MutableMapping
except ImportError:  # pragma: nocover
    from collections import MutableMapping  # Workaround for Python < 3.3

import six

from netlib.utils import always_byte_args, always_bytes

if six.PY2:  # pragma: nocover
    _native = lambda x: x
    _always_bytes = lambda x: x
    _always_byte_args = lambda x: x
else:
    # While headers _should_ be ASCII, it's not uncommon for certain headers to be utf-8 encoded.
    _native = lambda x: x.decode("utf-8", "surrogateescape")
    _always_bytes = lambda x: always_bytes(x, "utf-8", "surrogateescape")
    _always_byte_args = always_byte_args("utf-8", "surrogateescape")


class Headers(MutableMapping):
    """
    Header class which allows both convenient access to individual headers as well as
    direct access to the underlying raw data. Provides a full dictionary interface.

    Example:

    .. code-block:: python

        # Create headers with keyword arguments
        >>> h = Headers(host="example.com", content_type="application/xml")
コード例 #4
0
ファイル: headers.py プロジェクト: 007durgesh219/mitmproxy
except ImportError:  # pragma: nocover
    from collections import MutableMapping  # Workaround for Python < 3.3


import six

from netlib.utils import always_byte_args, always_bytes, Serializable

if six.PY2:  # pragma: nocover
    _native = lambda x: x
    _always_bytes = lambda x: x
    _always_byte_args = lambda x: x
else:
    # While headers _should_ be ASCII, it's not uncommon for certain headers to be utf-8 encoded.
    _native = lambda x: x.decode("utf-8", "surrogateescape")
    _always_bytes = lambda x: always_bytes(x, "utf-8", "surrogateescape")
    _always_byte_args = always_byte_args("utf-8", "surrogateescape")


class Headers(MutableMapping, Serializable):
    """
    Header class which allows both convenient access to individual headers as well as
    direct access to the underlying raw data. Provides a full dictionary interface.

    Example:

    .. code-block:: python

        # Create headers with keyword arguments
        >>> h = Headers(host="example.com", content_type="application/xml")
コード例 #5
0
ファイル: headers.py プロジェクト: thesprockee/mitmproxy
 def _always_bytes(x):
     return utils.always_bytes(x, "utf-8", "surrogateescape")