Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/websockets/typing.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.3.1, created at 2023-09-25 06:20 +0000

1from __future__ import annotations 

2 

3import logging 

4from typing import List, NewType, Optional, Tuple, Union 

5 

6 

7__all__ = [ 

8 "Data", 

9 "LoggerLike", 

10 "Origin", 

11 "Subprotocol", 

12 "ExtensionName", 

13 "ExtensionParameter", 

14] 

15 

16 

17# Public types used in the signature of public APIs 

18 

19Data = Union[str, bytes] 

20"""Types supported in a WebSocket message: 

21:class:`str` for a Text_ frame, :class:`bytes` for a Binary_. 

22 

23.. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6 

24.. _Binary : https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6 

25 

26""" 

27 

28 

29LoggerLike = Union[logging.Logger, logging.LoggerAdapter] 

30"""Types accepted where a :class:`~logging.Logger` is expected.""" 

31 

32 

33Origin = NewType("Origin", str) 

34"""Value of a ``Origin`` header.""" 

35 

36 

37Subprotocol = NewType("Subprotocol", str) 

38"""Subprotocol in a ``Sec-WebSocket-Protocol`` header.""" 

39 

40 

41ExtensionName = NewType("ExtensionName", str) 

42"""Name of a WebSocket extension.""" 

43 

44 

45ExtensionParameter = Tuple[str, Optional[str]] 

46"""Parameter of a WebSocket extension.""" 

47 

48 

49# Private types 

50 

51ExtensionHeader = Tuple[ExtensionName, List[ExtensionParameter]] 

52"""Extension in a ``Sec-WebSocket-Extensions`` header.""" 

53 

54 

55ConnectionOption = NewType("ConnectionOption", str) 

56"""Connection option in a ``Connection`` header.""" 

57 

58 

59UpgradeProtocol = NewType("UpgradeProtocol", str) 

60"""Upgrade protocol in an ``Upgrade`` header."""