~/bend-docscommunity

http/status.bend source

http/status.bend on the hub · documented module

import Base# a response status (RFC 9110 §15): a three-digit codetype Status is Data:  Status{code: U32}def ok() -> Status:  Status{200}def created() -> Status:  Status{201}def no_content() -> Status:  Status{204}def moved_permanently() -> Status:  Status{301}def found() -> Status:  Status{302}def see_other() -> Status:  Status{303}def not_modified() -> Status:  Status{304}def bad_request() -> Status:  Status{400}def unauthorized() -> Status:  Status{401}def forbidden() -> Status:  Status{403}def not_found() -> Status:  Status{404}def method_not_allowed() -> Status:  Status{405}def request_timeout() -> Status:  Status{408}def content_too_large() -> Status:  Status{413}def unsupported_media_type() -> Status:  Status{415}def header_fields_too_large() -> Status:  Status{431}def internal_error() -> Status:  Status{500}def not_implemented() -> Status:  Status{501}def service_unavailable() -> Status:  Status{503}def version_not_supported() -> Status:  Status{505}def code(s: Status) -> U32:  match s:    case Status{c}:      c# the reason phrase HTTP/1.1 writes after the code (RFC 9110 §15)def reason(s: Status) -> String:  match s:    case Status{200}:      "OK"    case Status{201}:      "Created"    case Status{204}:      "No Content"    case Status{301}:      "Moved Permanently"    case Status{302}:      "Found"    case Status{303}:      "See Other"    case Status{304}:      "Not Modified"    case Status{400}:      "Bad Request"    case Status{401}:      "Unauthorized"    case Status{403}:      "Forbidden"    case Status{404}:      "Not Found"    case Status{405}:      "Method Not Allowed"    case Status{408}:      "Request Timeout"    case Status{413}:      "Content Too Large"    case Status{415}:      "Unsupported Media Type"    case Status{431}:      "Request Header Fields Too Large"    case Status{500}:      "Internal Server Error"    case Status{501}:      "Not Implemented"    case Status{503}:      "Service Unavailable"    case Status{505}:      "HTTP Version Not Supported"    case _:      ""