Files
CN2021/httplib/message.py

37 lines
969 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 ResponseMessage(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 RequestMessage(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