aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/hyperframe/exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/hyperframe/exceptions.py')
-rw-r--r--.venv/lib/python3.12/site-packages/hyperframe/exceptions.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/hyperframe/exceptions.py b/.venv/lib/python3.12/site-packages/hyperframe/exceptions.py
new file mode 100644
index 00000000..7a40f4ab
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/hyperframe/exceptions.py
@@ -0,0 +1,61 @@
+"""
+Exceptions that can be thrown by hyperframe.
+"""
+from __future__ import annotations
+
+
+class HyperframeError(Exception):
+ """
+ The base class for all exceptions for the hyperframe module.
+
+ .. versionadded:: 6.0.0
+ """
+
+
+class UnknownFrameError(HyperframeError):
+ """
+ A frame of unknown type was received.
+
+ .. versionchanged:: 6.0.0
+ Changed base class from `ValueError` to :class:`HyperframeError`
+ """
+
+ def __init__(self, frame_type: int, length: int) -> None:
+ #: The type byte of the unknown frame that was received.
+ self.frame_type = frame_type
+
+ #: The length of the data portion of the unknown frame.
+ self.length = length
+
+ def __str__(self) -> str:
+ return (
+ f"UnknownFrameError: Unknown frame type 0x{self.frame_type:X} received, length {self.length} bytes"
+ )
+
+
+class InvalidPaddingError(HyperframeError):
+ """
+ A frame with invalid padding was received.
+
+ .. versionchanged:: 6.0.0
+ Changed base class from `ValueError` to :class:`HyperframeError`
+ """
+
+
+class InvalidFrameError(HyperframeError):
+ """
+ Parsing a frame failed because the data was not laid out appropriately.
+
+ .. versionadded:: 3.0.2
+
+ .. versionchanged:: 6.0.0
+ Changed base class from `ValueError` to :class:`HyperframeError`
+ """
+
+
+class InvalidDataError(HyperframeError):
+ """
+ Content or data of a frame was is invalid or violates the specification.
+
+ .. versionadded:: 6.0.0
+ """