Add a first cut at an express-based backend
This commit is contained in:
43
express/http-codes.ts
Normal file
43
express/http-codes.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { Extensible } from "./interfaces";
|
||||
|
||||
export type HttpCode = {
|
||||
code: number;
|
||||
name: string;
|
||||
description?: string;
|
||||
};
|
||||
type Group = "success" | "redirection" | "clientErrors" | "serverErrors";
|
||||
type CodeDefinitions = {
|
||||
[K in Group]: {
|
||||
[K: string]: HttpCode;
|
||||
};
|
||||
};
|
||||
// FIXME: Figure out how to brand CodeDefinitions in a way that isn't
|
||||
// tedious.
|
||||
|
||||
const httpCodes: CodeDefinitions = {
|
||||
success: {
|
||||
OK: { code: 200, name: "OK", description: "" },
|
||||
Created: { code: 201, name: "Created" },
|
||||
Accepted: { code: 202, name: "Accepted" },
|
||||
NoContent: { code: 204, name: "No content" },
|
||||
},
|
||||
redirection: {
|
||||
// later
|
||||
},
|
||||
clientErrors: {
|
||||
BadRequest: { code: 400, name: "Bad Request" },
|
||||
Unauthorized: { code: 401, name: "Unauthorized" },
|
||||
Forbidden: { code: 403, name: "Forbidden" },
|
||||
NotFound: { code: 404, name: "Not Found" },
|
||||
MethodNotAllowed: { code: 405, name: "Method Not Allowed" },
|
||||
NotAcceptable: { code: 406, name: "Not Acceptable" },
|
||||
// More later
|
||||
},
|
||||
serverErrors: {
|
||||
InternalServerError: { code: 500, name: "Internal Server Error" },
|
||||
NotImplemented: { code: 500, name: "Not implemented" },
|
||||
// more later
|
||||
},
|
||||
};
|
||||
|
||||
export { httpCodes };
|
||||
Reference in New Issue
Block a user