diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2015-06-04 14:28:09 +0200 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2015-06-05 13:33:37 +0200 |
commit | 623dd850e0ce15630e0950b4de843c0af8046618 (patch) | |
tree | 30015637a162dd25e2023c330d2ce0be99e55a9a /netlib/h2/frame.py | |
parent | 40fa113116a2d3a549bc57c1b1381bbb55c7014b (diff) | |
download | mitmproxy-623dd850e0ce15630e0950b4de843c0af8046618.tar.gz mitmproxy-623dd850e0ce15630e0950b4de843c0af8046618.tar.bz2 mitmproxy-623dd850e0ce15630e0950b4de843c0af8046618.zip |
http2: add logging and error handling
Diffstat (limited to 'netlib/h2/frame.py')
-rw-r--r-- | netlib/h2/frame.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/netlib/h2/frame.py b/netlib/h2/frame.py index 0755c96c..018e822f 100644 --- a/netlib/h2/frame.py +++ b/netlib/h2/frame.py @@ -1,9 +1,14 @@ import struct +import logging +from functools import reduce from hpack.hpack import Encoder, Decoder from .. import utils -from functools import reduce +log = logging.getLogger(__name__) + +class FrameSizeError(Exception): + pass class Frame(object): @@ -57,10 +62,11 @@ class Frame(object): else: settings = HTTP2Protocol.HTTP2_DEFAULT_SETTINGS - max_frame_size = settings[SettingsFrame.SETTINGS.SETTINGS_MAX_FRAME_SIZE] + max_frame_size = settings[ + SettingsFrame.SETTINGS.SETTINGS_MAX_FRAME_SIZE] if length > max_frame_size: - raise NotImplementedError( + raise FrameSizeError( "Frame size exceeded: %d, but only %d allowed." % ( length, max_frame_size)) @@ -248,7 +254,9 @@ class HeadersFrame(Frame): if self.flags & self.FLAG_PADDED: s.append("padding: %d" % self.pad_length) - s.append("header_block_fragment: %s" % self.header_block_fragment.encode('hex')) + s.append( + "header_block_fragment: %s" % + self.header_block_fragment.encode('hex')) return "\n".join(s) |