summaryrefslogtreecommitdiffabout
path: root/include/sitecing
Unidiff
Diffstat (limited to 'include/sitecing') (more/less context) (show whitespace changes)
-rw-r--r--include/sitecing/exception.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sitecing/exception.h b/include/sitecing/exception.h
index 857a8e6..ccc7edd 100644
--- a/include/sitecing/exception.h
+++ b/include/sitecing/exception.h
@@ -1,140 +1,143 @@
1#ifndef __SITECING_EXCEPTION_H 1#ifndef __SITECING_EXCEPTION_H
2#define __SITECING_EXCEPTION_H 2#define __SITECING_EXCEPTION_H
3 3
4#include <string>
5
4/** 6/**
5 * @file 7 * @file
6 * @brief The site-C-ing specific exceptions. 8 * @brief The site-C-ing specific exceptions.
7 */ 9 */
8 10
9/** 11/**
10 * @brief The main site-C-ing namespace. 12 * @brief The main site-C-ing namespace.
11 */ 13 */
12namespace sitecing { 14namespace sitecing {
15 using std::string;
13 16
14 // TODO: status specifics 17 // TODO: status specifics
15 18
16 /** 19 /**
17 * The http status to return. 20 * The http status to return.
18 */ 21 */
19 class http_status { 22 class http_status {
20 public: 23 public:
21 /** 24 /**
22 * The status string. 25 * The status string.
23 */ 26 */
24 string status; 27 string status;
25 /** 28 /**
26 * The message to follow the status string. 29 * The message to follow the status string.
27 */ 30 */
28 string message; 31 string message;
29 32
30 /** 33 /**
31 * @param s HTTP status. 34 * @param s HTTP status.
32 * @param m HTTP status message. 35 * @param m HTTP status message.
33 */ 36 */
34 http_status(const string& s,const string& m) 37 http_status(const string& s,const string& m)
35 : status(s), message(m) { } 38 : status(s), message(m) { }
36 virtual ~http_status() throw() { } 39 virtual ~http_status() throw() { }
37 }; 40 };
38 41
39 // per RFC 2616 42 // per RFC 2616
40 43
41 /** 44 /**
42 * Informational. 45 * Informational.
43 */ 46 */
44 class http_status_1xx : public http_status { 47 class http_status_1xx : public http_status {
45 public: 48 public:
46 /** 49 /**
47 * @param s HTTP status 50 * @param s HTTP status
48 * @param m HTTP status message 51 * @param m HTTP status message
49 */ 52 */
50 explicit http_status_1xx(const string &s,const string& m) 53 explicit http_status_1xx(const string &s,const string& m)
51 : http_status(s,m) { } 54 : http_status(s,m) { }
52 }; 55 };
53 /** 56 /**
54 * Continue. 57 * Continue.
55 */ 58 */
56 class http_status_100 : public http_status_1xx { 59 class http_status_100 : public http_status_1xx {
57 public: 60 public:
58 /** 61 /**
59 * @param m HTTP status message 62 * @param m HTTP status message
60 */ 63 */
61 explicit http_status_100(const string& m) 64 explicit http_status_100(const string& m)
62 : http_status_1xx("100",m) { } 65 : http_status_1xx("100",m) { }
63 explicit http_status_100() 66 explicit http_status_100()
64 : http_status_1xx("100","Continue") { } 67 : http_status_1xx("100","Continue") { }
65 }; 68 };
66 /** 69 /**
67 * Switching protocols. 70 * Switching protocols.
68 */ 71 */
69 class http_status_101 : public http_status_1xx { 72 class http_status_101 : public http_status_1xx {
70 public: 73 public:
71 /** 74 /**
72 * @param m HTTP status message 75 * @param m HTTP status message
73 */ 76 */
74 explicit http_status_101(const string& m) 77 explicit http_status_101(const string& m)
75 : http_status_1xx("101",m) { } 78 : http_status_1xx("101",m) { }
76 explicit http_status_101() 79 explicit http_status_101()
77 : http_status_1xx("101","Switching protocols") { } 80 : http_status_1xx("101","Switching protocols") { }
78 }; 81 };
79 82
80 /** 83 /**
81 * Successful. 84 * Successful.
82 */ 85 */
83 class http_status_2xx : public http_status { 86 class http_status_2xx : public http_status {
84 public: 87 public:
85 /** 88 /**
86 * @param s HTTP status message 89 * @param s HTTP status message
87 * @param m HTTP status message 90 * @param m HTTP status message
88 */ 91 */
89 explicit http_status_2xx(const string& s,const string& m) 92 explicit http_status_2xx(const string& s,const string& m)
90 : http_status(s,m) { } 93 : http_status(s,m) { }
91 }; 94 };
92 /** 95 /**
93 * OK. 96 * OK.
94 */ 97 */
95 class http_status_200 : public http_status_2xx { 98 class http_status_200 : public http_status_2xx {
96 public: 99 public:
97 /** 100 /**
98 * @param m HTTP status message 101 * @param m HTTP status message
99 */ 102 */
100 explicit http_status_200(const string& m) 103 explicit http_status_200(const string& m)
101 : http_status_2xx("200",m) { } 104 : http_status_2xx("200",m) { }
102 explicit http_status_200() 105 explicit http_status_200()
103 : http_status_2xx("200","OK") { } 106 : http_status_2xx("200","OK") { }
104 }; 107 };
105 /** 108 /**
106 * Created. 109 * Created.
107 */ 110 */
108 class http_status_201 : public http_status_2xx { 111 class http_status_201 : public http_status_2xx {
109 public: 112 public:
110 /** 113 /**
111 * @param m HTTP status message 114 * @param m HTTP status message
112 */ 115 */
113 explicit http_status_201(const string& m) 116 explicit http_status_201(const string& m)
114 : http_status_2xx("201",m) { } 117 : http_status_2xx("201",m) { }
115 explicit http_status_201() 118 explicit http_status_201()
116 : http_status_2xx("201","Created") { } 119 : http_status_2xx("201","Created") { }
117 }; 120 };
118 /** 121 /**
119 * Accepted. 122 * Accepted.
120 */ 123 */
121 class http_status_202 : public http_status_2xx { 124 class http_status_202 : public http_status_2xx {
122 public: 125 public:
123 /** 126 /**
124 * @param m HTTP status message 127 * @param m HTTP status message
125 */ 128 */
126 explicit http_status_202(const string& m) 129 explicit http_status_202(const string& m)
127 : http_status_2xx("202",m) { } 130 : http_status_2xx("202",m) { }
128 explicit http_status_202() 131 explicit http_status_202()
129 : http_status_2xx("202","Accepted") { } 132 : http_status_2xx("202","Accepted") { }
130 }; 133 };
131 /** 134 /**
132 * Non-authoritative infortmation. 135 * Non-authoritative infortmation.
133 */ 136 */
134 class http_status_203 : public http_status_2xx { 137 class http_status_203 : public http_status_2xx {
135 public: 138 public:
136 /** 139 /**
137 * @param m HTTP status message 140 * @param m HTTP status message
138 */ 141 */
139 explicit http_status_203(const string& m) 142 explicit http_status_203(const string& m)
140 : http_status_2xx("203",m) { } 143 : http_status_2xx("203",m) { }