diff options
| author | Maximilian Hils <git@maximilianhils.com> | 2015-09-21 22:49:39 +0200 | 
|---|---|---|
| committer | Maximilian Hils <git@maximilianhils.com> | 2015-09-21 22:49:39 +0200 | 
| commit | 9fbeac50ce3f6ae49b0f0270c508b6e81a1eaf17 (patch) | |
| tree | 90d84e099ed4905aa183828daac75350dbfab0a1 /netlib/websockets | |
| parent | 21579f0add33c8c3f743896b5ab1b390eef00356 (diff) | |
| download | mitmproxy-9fbeac50ce3f6ae49b0f0270c508b6e81a1eaf17.tar.gz mitmproxy-9fbeac50ce3f6ae49b0f0270c508b6e81a1eaf17.tar.bz2 mitmproxy-9fbeac50ce3f6ae49b0f0270c508b6e81a1eaf17.zip  | |
revert websocket changes from 73586b1b
The DEFAULT construct is very weird,
but with None we apparently break pathod
in some difficult-to-debug ways.
Revisit once we do more here.
Diffstat (limited to 'netlib/websockets')
| -rw-r--r-- | netlib/websockets/frame.py | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/netlib/websockets/frame.py b/netlib/websockets/frame.py index 55eeaf41..fce2c9d3 100644 --- a/netlib/websockets/frame.py +++ b/netlib/websockets/frame.py @@ -14,6 +14,8 @@ from netlib import utils  MAX_16_BIT_INT = (1 << 16)  MAX_64_BIT_INT = (1 << 64) +DEFAULT=object() +  OPCODE = utils.BiDi(      CONTINUE=0x00,      TEXT=0x01, @@ -34,9 +36,9 @@ class FrameHeader(object):          rsv1=False,          rsv2=False,          rsv3=False, -        masking_key=None, -        mask=None, -        length_code=None +        masking_key=DEFAULT, +        mask=DEFAULT, +        length_code=DEFAULT      ):          if not 0 <= opcode < 2 ** 4:              raise ValueError("opcode must be 0-16") @@ -47,18 +49,18 @@ class FrameHeader(object):          self.rsv2 = rsv2          self.rsv3 = rsv3 -        if length_code is None: +        if length_code is DEFAULT:              self.length_code = self._make_length_code(self.payload_length)          else:              self.length_code = length_code -        if mask is None and masking_key is None: +        if mask is DEFAULT and masking_key is DEFAULT:              self.mask = False              self.masking_key = b"" -        elif mask is None: +        elif mask is DEFAULT:              self.mask = 1              self.masking_key = masking_key -        elif masking_key is None: +        elif masking_key is DEFAULT:              self.mask = mask              self.masking_key = os.urandom(4)          else: @@ -166,7 +168,7 @@ class FrameHeader(object):          if mask_bit == 1:              masking_key = fp.safe_read(4)          else: -            masking_key = False +            masking_key = None          return cls(              fin=fin, @@ -230,7 +232,7 @@ class Frame(object):              masking_key = os.urandom(4)          else:              mask_bit = 0 -            masking_key = False +            masking_key = None          return cls(              message, @@ -311,4 +313,4 @@ class Frame(object):      def __eq__(self, other):          if isinstance(other, Frame):              return bytes(self) == bytes(other) -        return False
\ No newline at end of file +        return False  | 
