aboutsummaryrefslogtreecommitdiffstats
path: root/http_response.h
blob: 9cbfd0281ddf5c08204bc07aeac866b447f95e02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once
#include <string>
#include <unordered_map>

namespace flask
{
    std::unordered_map<int, std::string> statusCodes = {
        {200, "HTTP/1.1 200 OK\r\n"},
        {201, "HTTP/1.1 201 Created\r\n"},
        {202, "HTTP/1.1 202 Accepted\r\n"},
        {204, "HTTP/1.1 204 No Content\r\n"},

        {300, "HTTP/1.1 300 Multiple Choices\r\n"},
        {301, "HTTP/1.1 301 Moved Permanently\r\n"},
        {302, "HTTP/1.1 302 Moved Temporarily\r\n"},
        {304, "HTTP/1.1 304 Not Modified\r\n"},

        {400, "HTTP/1.1 400 Bad Request\r\n"},
        {401, "HTTP/1.1 401 Unauthorized\r\n"},
        {403, "HTTP/1.1 403 Forbidden\r\n"},
        {404, "HTTP/1.1 404 Not Found\r\n"},

        {500, "HTTP/1.1 500 Internal Server Error\r\n"},
        {501, "HTTP/1.1 501 Not Implemented\r\n"},
        {502, "HTTP/1.1 502 Bad Gateway\r\n"},
        {503, "HTTP/1.1 503 Service Unavailable\r\n"},
    };

    struct response
    {
        std::string body;
        int code{200};
        std::unordered_map<std::string, std::string> headers;
        response() {}
        explicit response(int code) : code(code) {}
        response(std::string body) : body(std::move(body)) {}
        response(int code, std::string body) : body(std::move(body)), code(code) {}
    };
}