http_defs.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_HTTP_DEFS_H
  3. #define NETDATA_HTTP_DEFS_H
  4. #define HTTP_1_1 " HTTP/1.1"
  5. #define HTTP_HDR_END "\r\n\r\n"
  6. #define HTTP_ENDL "\r\n"
  7. // HTTP_CODES 1XX
  8. #define HTTP_RESP_SWITCH_PROTO 101
  9. // HTTP_CODES 2XX Success
  10. #define HTTP_RESP_OK 200
  11. #define HTTP_RESP_ACCEPTED 202
  12. // HTTP_CODES 3XX Redirections
  13. #define HTTP_RESP_MOVED_PERM 301
  14. #define HTTP_RESP_NOT_MODIFIED 304
  15. #define HTTP_RESP_REDIR_TEMP 307
  16. #define HTTP_RESP_REDIR_PERM 308
  17. #define HTTP_RESP_HTTPS_UPGRADE 399
  18. // HTTP_CODES 4XX Client Errors
  19. #define HTTP_RESP_BAD_REQUEST 400
  20. #define HTTP_RESP_UNAUTHORIZED 401
  21. #define HTTP_RESP_FORBIDDEN 403
  22. #define HTTP_RESP_NOT_FOUND 404
  23. #define HTTP_RESP_METHOD_NOT_ALLOWED 405
  24. #define HTTP_RESP_CONFLICT 409
  25. #define HTTP_RESP_PRECOND_FAIL 412
  26. #define HTTP_RESP_CONTENT_TOO_LONG 413
  27. #define HTTP_RESP_CLIENT_CLOSED_REQUEST 499 // nginx's enxtension to the standard
  28. // HTTP_CODES 5XX Server Errors
  29. #define HTTP_RESP_INTERNAL_SERVER_ERROR 500
  30. #define HTTP_RESP_NOT_IMPLEMENTED 501
  31. #define HTTP_RESP_SERVICE_UNAVAILABLE 503
  32. #define HTTP_RESP_GATEWAY_TIMEOUT 504
  33. #define HTTP_RESP_BACKEND_RESPONSE_INVALID 591
  34. typedef enum __attribute__((__packed__)) {
  35. HTTP_REQUEST_MODE_NONE = 0,
  36. HTTP_REQUEST_MODE_GET = 1,
  37. HTTP_REQUEST_MODE_POST = 2,
  38. HTTP_REQUEST_MODE_PUT = 3,
  39. HTTP_REQUEST_MODE_DELETE = 4,
  40. HTTP_REQUEST_MODE_FILECOPY = 5,
  41. HTTP_REQUEST_MODE_OPTIONS = 6,
  42. HTTP_REQUEST_MODE_STREAM = 7,
  43. } HTTP_REQUEST_MODE;
  44. const char *http_request_method2string(HTTP_REQUEST_MODE mode);
  45. const char *http_response_code2string(int code);
  46. HTTP_CONTENT_TYPE contenttype_for_filename(const char *filename);
  47. #endif /* NETDATA_HTTP_DEFS_H */