Skip to content

Protocol API

Wire format implementation: request/response parsing, status codes, and constants.

MisfinRequest

MisfinRequest dataclass

MisfinRequest(
    mailbox: str,
    hostname: str,
    content_length: int,
    raw_message: bytes = b"",
    raw_header: bytes = b"",
    client_cert: Certificate | None = None,
    client_cert_fingerprint: str | None = None,
    protocol_version: str = "C",
    verification_result: Any = None,
)

MisfinResponse

MisfinResponse dataclass

MisfinResponse(status: int, meta: str)

StatusCode

StatusCode

Bases: IntEnum

Status Utility Functions

interpret_status

interpret_status(status: int) -> str
Source code in src/titlani/protocol/status.py
def interpret_status(status: int) -> str:
    if status in _STATUS_DESCRIPTIONS:
        return _STATUS_DESCRIPTIONS[status]
    category = status // 10
    category_names = {
        2: "Success",
        3: "Redirect",
        4: "Temporary failure",
        5: "Permanent failure",
        6: "Authentication failure",
    }
    return category_names.get(category, "Unknown")

is_success

is_success(status: int) -> bool
Source code in src/titlani/protocol/status.py
def is_success(status: int) -> bool:
    return 20 <= status < 30

is_redirect

is_redirect(status: int) -> bool
Source code in src/titlani/protocol/status.py
def is_redirect(status: int) -> bool:
    return 30 <= status < 40

is_error

is_error(status: int) -> bool
Source code in src/titlani/protocol/status.py
def is_error(status: int) -> bool:
    return 40 <= status < 60

is_auth_failure

is_auth_failure(status: int) -> bool
Source code in src/titlani/protocol/status.py
def is_auth_failure(status: int) -> bool:
    return 60 <= status < 70

Constants

constants

Misfin(C) protocol constants.