constants.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. /*
  2. Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler
  3. Distributed under MIT license, or public domain if desired and
  4. recognized in your jurisdiction.
  5. See file LICENSE for detail.
  6. */
  7. #ifndef CONSTANTS_H
  8. #define CONSTANTS_H
  9. // clazy:excludeall=non-pod-global-static
  10. #include <QByteArray>
  11. #include <QString>
  12. #include "cppwebframework_global.h"
  13. CWF_BEGIN_NAMESPACE
  14. //CONFIGURATION CONSTANTS
  15. // clang-format off
  16. namespace CONFIGURATION
  17. {
  18. const QByteArray CPP_CONFIG = "/config/";
  19. const QByteArray CPP_WEB_INI = "CPPWeb.ini";
  20. const QByteArray CPP_LOG_FILE = "CPPWebServer.log";
  21. const QString CPP_LOG_VAR = "cwf_log_file";
  22. const QString CPP_LOG_MAX_VAR = "cwf_log_max";
  23. }
  24. //XML CONSTANTS
  25. namespace XML
  26. {
  27. const QByteArray HEADER = "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
  28. }
  29. //GETTER AND SETTER CONSTANTS
  30. namespace GET_SET
  31. {
  32. const QString GET_LOWER = "get";
  33. const QString SET_LOWER = "set";
  34. const QString GET_UPPER = "GET";
  35. const QString SET_UPPER = "SET";
  36. }
  37. //STATUS CONSTANTS
  38. namespace STATUS
  39. {
  40. const QByteArray STATUS_401 = "/config/cppwebserverpages/401.view";
  41. const QByteArray STATUS_403 = "/config/cppwebserverpages/403.view";
  42. const QByteArray STATUS_404 = "/config/cppwebserverpages/404.view";
  43. const QByteArray NOT_FOUND = "Not Found";
  44. }
  45. //CSTL CONSTANTS
  46. namespace CSTL
  47. {
  48. //CSTL TAGS CONSTANTS
  49. namespace TAG
  50. {
  51. const QString OUT = "out";
  52. const QString FOR = "for";
  53. const QString IF = "if";
  54. const QString IMPORT = "import";
  55. const QByteArray BEGIN = "<cstl>";
  56. const QByteArray END = "</cstl>";
  57. //PROPERTIES CONSTANTS
  58. namespace PROPERTY
  59. {
  60. const QString VAR = "var";
  61. const QString ERROR = "error";
  62. const QString CONDITION = "condition";
  63. namespace IMPORT
  64. {
  65. const QString URL = "url";
  66. }
  67. namespace FOR
  68. {
  69. const QString ITEMS = "items";
  70. const QString FROM = "from";
  71. const QString TO = "to";
  72. const QString INCREMENT = "increment";
  73. }
  74. namespace IF
  75. {
  76. const QString EQUAL = "equal";
  77. const QString DIFFERENT = "different";
  78. const QString GREATER = "greater";
  79. const QString GREATER_EQUAL = "greater_equal";
  80. const QString LESS = "less";
  81. const QString LESS_EQUAL = "less_equal";
  82. }
  83. }
  84. }
  85. //SUPORTED TYPES CONSTANTS
  86. namespace SUPPORTED_TYPES
  87. {
  88. const QString QSTRING = "QString";
  89. const QString STD_STRING = "std::string";
  90. const QString BOOL = "bool";
  91. const QString CHAR = "char";
  92. const QString UNSIGNED_CHAR = "uchar";
  93. const QString SHORT = "short";
  94. const QString UNSIGNED_SHORT = "ushort";
  95. const QString INT = "int";
  96. const QString UNSIGNED_INT = "uint";
  97. const QString LONG = "long";
  98. const QString UNSIGNED_LONG = "ulong";
  99. const QString LONG_LONG = "qlonglong";
  100. const QString UNSIGNED_LONG_LONG = "qulonglong";
  101. const QString FLOAT = "float";
  102. const QString DOUBLE = "double";
  103. const QString CWF_QLISTOBJECT = "CWF::QListObject";
  104. }
  105. }
  106. //CONTENT TYPE CONSTANTS
  107. namespace HTTP
  108. {
  109. const QByteArray SERVER = "Server";
  110. const QByteArray SERVER_VERSION = "C++-Web-Server/3.1";
  111. const QByteArray DATA = "Data";
  112. const QByteArray TRANSFER_ENCODING = "Transfer-Encoding";
  113. const QByteArray CHUNKED = "chunked";
  114. const QByteArray END_LINE = "\r\n";
  115. const QByteArray SEPARATOR = ": ";
  116. const QByteArray HTTP_1_1 = "HTTP/1.1 ";
  117. const QByteArray END_OF_MESSAGE = "\r\n\r\n";
  118. const QByteArray END_OF_MESSAGE_WITH_ZERO = "0\r\n\r\n";
  119. const QByteArray CONTENT_TYPE = "Content-Type";
  120. const QByteArray CONTENT_LENGTH = "Content-Length";
  121. const QByteArray CONTENT_DISPOSITION = "Content-Disposition";
  122. const QByteArray CONTENT_DISPOSITION_COLON = "Content-Disposition:";
  123. const QByteArray CONTENT_DISPOSITION_COLON_SPACE = "Content-Disposition: ";
  124. const QByteArray MULTIPART = "multipart";
  125. const QByteArray URLENCODED = "urlencoded";
  126. const QByteArray COOKIE = "Cookie";
  127. const QByteArray SET_COOKIE = "Set-Cookie: ";
  128. const QByteArray SESSION_ID = "sessionId";
  129. const QByteArray FILENAME = "filename";
  130. const QByteArray FORM_DATA_COLON_SPACE = "form-data; ";
  131. const QByteArray WEBKIT = "WebKit";
  132. const QByteArray LOCATION = "Location";
  133. const QByteArray REDIRECT = "Redirect";
  134. const QByteArray SEE_OTHER = "See Other";
  135. const QByteArray ACCEPT_ENCODING = "Accept-Encoding";
  136. const QByteArray ACCEPT_LANGUAGE = "Accept-Language";
  137. const QByteArray HOST = "Host";
  138. const QByteArray USER_AGENT = "User-Agent";
  139. const QByteArray OK = "OK";
  140. /*
  141. const QByteArray = "";
  142. const QByteArray = "";
  143. */
  144. //TEXT
  145. const QByteArray TEXT_HTML_UTF8 = "text/html; charset=UTF-8";
  146. //IMAGE
  147. const QByteArray IMAGE_MICROSOFT_ICO = "image/vnd.microsoft.icon";
  148. const QByteArray IMAGE_JPEG = "image/jpeg";
  149. const QByteArray IMAGE_TIFF = "image/tiff";
  150. const QByteArray IMAGE_SVG_XML = "image/svg+xml";
  151. //AUDIO
  152. const QByteArray AUDIO_MP3 = "image/mpeg";
  153. const QByteArray AUDIO_MP4 = "image/mp4";
  154. const QByteArray APPLICATION_PHOTOSHOP = "image/vnd.adobe.photoshop";
  155. //VIDEO
  156. const QByteArray VIDEO_FLV = "video/x-flv";
  157. //APPLICATION
  158. const QByteArray APPLICATION_MSWORD = "application/msword";
  159. const QByteArray APPLICATION_RTF = "application/rtf";
  160. const QByteArray APPLICATION_EXCEL = "application/vnd.ms-excel";
  161. const QByteArray APPLICATION_JSON = "application/json";
  162. const QByteArray APPLICATION_POWER_POINT = "application/vnd.ms-powerpoint";
  163. const QByteArray APPLICATION_JAVASCRIPT = "application/javascript";
  164. const QByteArray APPLICATION_OPEN_DOCUMENT_TEXT = "application/vnd.oasis.opendocument.text";
  165. const QByteArray APPLICATION_OPEN_DOCUMENT_SPREADSHEET = "application/vnd.oasis.opendocument.spreadsheet";
  166. const QByteArray APPLICATION_SHOCKWAVE_FLASH = "application/x-shockwave-flash";
  167. const QByteArray APPLICATION_RAR_COMPRESSED = "application/x-rar-compressed";
  168. const QByteArray APPLICATION_MS_DOWNLOAD = "application/x-msdownload";
  169. const QByteArray APPLICATION_CAB_COMPRESSED = "application/vnd.ms-cab-compressed";
  170. const QByteArray APPLICATION_POSTSCRIPT = "application/postscript";
  171. const QByteArray APPLICATION_WWW_FORM_URLENCODED = "application/x-www-form-urlencoded";
  172. const QByteArray APPLICATION_FONT_WOFF = "application/x-font-woff";
  173. const QByteArray APPLICATION_FONT_TTF = "application/octet-stream";
  174. //HTTP METHODS CONSTANTS
  175. namespace METHOD
  176. {
  177. const QByteArray GET = "GET";
  178. const QByteArray PUT = "PUT";
  179. const QByteArray POST = "POST";
  180. const QByteArray DELETE = "DELETE";
  181. const QByteArray OPTIONS = "OPTIONS";
  182. const QByteArray HEAD = "HEAD";
  183. const QByteArray TRACE = "TRACE";
  184. }
  185. }
  186. namespace COOKIE
  187. {
  188. const QByteArray COMMENT = "Comment";
  189. const QByteArray DOMAIN_COOKIE = "Domain";
  190. const QByteArray MAX_AGE = "Max-Age";
  191. const QByteArray PATH = "Path";
  192. const QByteArray SECURE = "Secure";
  193. const QByteArray VERSION = "Version";
  194. }
  195. //FILE EXTENTIONS CONSTANTS
  196. namespace FILE_EXTENTION
  197. {
  198. const QByteArray BAR = "/";
  199. const QByteArray HTML = "html";
  200. const QByteArray HTM = "htm";
  201. const QByteArray CSS = "css";
  202. const QByteArray TXT = "txt";
  203. const QByteArray PHP = "php";
  204. const QByteArray ICO = "ico";
  205. const QByteArray PNG = "png";
  206. const QByteArray GIF = "gif";
  207. const QByteArray BMP = "bmp";
  208. const QByteArray JPE = "jpe";
  209. const QByteArray JPG = "jpg";
  210. const QByteArray TIF = "TIF";
  211. const QByteArray TIFF = "TIFF";
  212. const QByteArray SVG = "svg";
  213. const QByteArray SVGZ = "svgz";
  214. const QByteArray PDF = "pdf";
  215. const QByteArray XML = "xml";
  216. const QByteArray JSON = "json";
  217. const QByteArray ZIP = "zip";
  218. const QByteArray MP3 = "mp3";
  219. const QByteArray MP4 = "mp4";
  220. const QByteArray FLV = "flv";
  221. const QByteArray DOC = "doc";
  222. const QByteArray RTF = "rtf";
  223. const QByteArray XLS = "xls";
  224. const QByteArray PPT = "ppt";
  225. const QByteArray JS = "js";
  226. const QByteArray ODT = "odt";
  227. const QByteArray ODS = "ods";
  228. const QByteArray SWF = "swf";
  229. const QByteArray RAR = "rar";
  230. const QByteArray EXE = "exe";
  231. const QByteArray MSI = "msi";
  232. const QByteArray CAB = "cab";
  233. const QByteArray PSD = "psd";
  234. const QByteArray AI = "ai";
  235. const QByteArray EPS = "eps";
  236. const QByteArray PS = "ps";
  237. const QByteArray INI = "ini";
  238. const QByteArray EOT = "eot";
  239. const QByteArray TTF = "ttf";
  240. const QByteArray WOFF = "woff";
  241. const QByteArray WOFF2= "woff2";
  242. }
  243. // clang-format on
  244. CWF_END_NAMESPACE
  245. #endif // CONSTANTS_H