summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/websockets/utils.py
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
commit12cf076118570eebbff08c6b3090e0d4798447a1 (patch)
tree3ba25e17e3c3a5e82316558ba3864b955919ff72 /venv/lib/python3.11/site-packages/websockets/utils.py
parentc45662ff3923b34614ddcc8feb9195541166dcc5 (diff)
no venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/websockets/utils.py')
-rw-r--r--venv/lib/python3.11/site-packages/websockets/utils.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/venv/lib/python3.11/site-packages/websockets/utils.py b/venv/lib/python3.11/site-packages/websockets/utils.py
deleted file mode 100644
index c404049..0000000
--- a/venv/lib/python3.11/site-packages/websockets/utils.py
+++ /dev/null
@@ -1,51 +0,0 @@
-from __future__ import annotations
-
-import base64
-import hashlib
-import secrets
-import sys
-
-
-__all__ = ["accept_key", "apply_mask"]
-
-
-GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
-
-
-def generate_key() -> str:
- """
- Generate a random key for the Sec-WebSocket-Key header.
-
- """
- key = secrets.token_bytes(16)
- return base64.b64encode(key).decode()
-
-
-def accept_key(key: str) -> str:
- """
- Compute the value of the Sec-WebSocket-Accept header.
-
- Args:
- key: value of the Sec-WebSocket-Key header.
-
- """
- sha1 = hashlib.sha1((key + GUID).encode()).digest()
- return base64.b64encode(sha1).decode()
-
-
-def apply_mask(data: bytes, mask: bytes) -> bytes:
- """
- Apply masking to the data of a WebSocket message.
-
- Args:
- data: data to mask.
- mask: 4-bytes mask.
-
- """
- if len(mask) != 4:
- raise ValueError("mask must contain 4 bytes")
-
- data_int = int.from_bytes(data, sys.byteorder)
- mask_repeated = mask * (len(data) // 4) + mask[: len(data) % 4]
- mask_int = int.from_bytes(mask_repeated, sys.byteorder)
- return (data_int ^ mask_int).to_bytes(len(data), sys.byteorder)