-
-#define HTTP_E_UNKOWN 0L
-#define HTTP_E_PARSE 1L
-#define HTTP_E_HEADER 2L
-#define HTTP_E_OBUFFER 3L
-#define HTTP_E_CURL 4L
-#define HTTP_E_ENCODE 5L
-#define HTTP_E_PARAM 6L
-#define HTTP_E_URL 7L
-#define HTTP_E_MSG 8L
+#define HE_THROW E_THROW
+#define HE_NOTICE (HTTP_G(only_exceptions) ? E_THROW : E_NOTICE)
+#define HE_WARNING (HTTP_G(only_exceptions) ? E_THROW : E_WARNING)
+#define HE_ERROR (HTTP_G(only_exceptions) ? E_THROW : E_ERROR)
+
+#define HTTP_E_RUNTIME 1L
+#define HTTP_E_INVALID_PARAM 2L
+#define HTTP_E_HEADER 3L
+#define HTTP_E_MALFORMED_HEADERS 4L
+#define HTTP_E_REQUEST_METHOD 5L
+#define HTTP_E_MESSAGE_TYPE 6L
+#define HTTP_E_ENCODING 7L
+#define HTTP_E_REQUEST 8L
+#define HTTP_E_REQUEST_POOL 9L
+#define HTTP_E_SOCKET 10L
+#define HTTP_E_RESPONSE 11L
+#define HTTP_E_URL 12L