Files
CN2021/httplib/message.py
2021-03-27 16:30:53 +01:00

37 lines
964 B
Python

from abc import ABC
from typing import Dict
from urllib.parse import SplitResult
class Message(ABC):
version: str
headers: Dict[str, str]
raw: str
body: bytes
def __init__(self, version: str, headers: Dict[str, str], raw=None, body: bytes = None):
self.version = version
self.headers = headers
self.raw = raw
self.body = body
class ClientMessage(Message):
status: int
msg: str
def __init__(self, version: str, status: int, msg: str, headers: Dict[str, str], raw=None, body: bytes = None):
super().__init__(version, headers, raw, body)
self.status = status
self.msg = msg
class ServerMessage(Message):
method: str
target: SplitResult
def __init__(self, version: str, method: str, target, headers: Dict[str, str], raw=None, body: bytes = None):
super().__init__(version, headers, raw, body)
self.method = method
self.target = target