1pub const Code = packed struct {2 detail: u5,3 class: u3,45 pub fn equal(self: Code, other: Code) bool {6 return self.class == other.class and self.detail == other.detail;7 }8};910// See https://datatracker.ietf.org/doc/html/rfc7252#section-12.11112// Requests13pub const GET = Code{ .class = 0, .detail = 1 };14pub const POST = Code{ .class = 0, .detail = 2 };15pub const PUT = Code{ .class = 0, .detail = 3 };16pub const DELETE = Code{ .class = 0, .detail = 4 };1718// Responses19pub const CREATED = Code{ .class = 2, .detail = 1 };20pub const DELETED = Code{ .class = 2, .detail = 2 };21pub const VALID = Code{ .class = 2, .detail = 3 };22pub const CHANGED = Code{ .class = 2, .detail = 4 };23pub const CONTENT = Code{ .class = 2, .detail = 5 };24//25pub const BAD_REQ = Code{ .class = 4, .detail = 0 };26pub const UNAUTH = Code{ .class = 4, .detail = 1 };27pub const BAD_OPT = Code{ .class = 4, .detail = 2 };28pub const FORBIDDEN = Code{ .class = 4, .detail = 3 };29pub const NOT_FOUND = Code{ .class = 4, .detail = 4 };30pub const BAD_METHOD = Code{ .class = 4, .detail = 5 };31pub const NOT_ACCEPT = Code{ .class = 4, .detail = 6 };32//33pub const NOT_IMPL = Code{ .class = 5, .detail = 1 };34pub const INTERNAL_ERR = Code{ .class = 5, .detail = 0 };