blob: 2f1959f86c230c02388da656045567316fac289e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
from asyncio import Queue
from enum import Enum
from typing import TypedDict, Optional
class MessageType(Enum):
request = 'request'
response = 'response'
class Config(TypedDict):
subdomain: str
class RequestData(TypedDict):
method: str
path: str
headers: list[tuple[str, str]]
body: Optional[str]
class ResponseData(TypedDict):
status: int
headers: list[tuple[str, str]]
body: Optional[str]
class Message(TypedDict):
type: MessageType
identifier: str
payload: Config | RequestData | ResponseData
class MemoryConnection(TypedDict):
requests: Queue[Message]
responses: Queue[Message]
|