aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/h2/frame.py
diff options
context:
space:
mode:
authorThomas Kriechbaumer <thomas@kriechbaumer.name>2015-06-04 14:28:09 +0200
committerThomas Kriechbaumer <thomas@kriechbaumer.name>2015-06-05 13:33:37 +0200
commit623dd850e0ce15630e0950b4de843c0af8046618 (patch)
tree30015637a162dd25e2023c330d2ce0be99e55a9a /netlib/h2/frame.py
parent40fa113116a2d3a549bc57c1b1381bbb55c7014b (diff)
downloadmitmproxy-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.py16
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)