+#define HTTP_BEGIN_ARGS(method, req_args) HTTP_BEGIN_ARGS_EX(HttpUtil, method, 0, req_args)
+#define HTTP_EMPTY_ARGS(method) HTTP_EMPTY_ARGS_EX(HttpUtil, method, 0)
+
+#define HTTP_UTIL_ALIAS(method, func) HTTP_STATIC_ME_ALIAS(method, func, HTTP_ARGS(HttpUtil, method))
+
+HTTP_BEGIN_ARGS(date, 0)
+ HTTP_ARG_VAL(timestamp, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(buildStr, 1)
+ HTTP_ARG_VAL(query, 0)
+ HTTP_ARG_VAL(prefix, 0)
+ HTTP_ARG_VAL(arg_sep, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(buildUrl, 1)
+ HTTP_ARG_VAL(url, 0)
+ HTTP_ARG_VAL(parts, 0)
+ HTTP_ARG_VAL(flags, 0)
+ HTTP_ARG_VAL(composed, 1)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(negotiateLanguage, 1)
+ HTTP_ARG_VAL(supported, 0)
+ HTTP_ARG_VAL(result, 1)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(negotiateCharset, 1)
+ HTTP_ARG_VAL(supported, 0)
+ HTTP_ARG_VAL(result, 1)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(negotiateContentType, 1)
+ HTTP_ARG_VAL(supported, 0)
+ HTTP_ARG_VAL(result, 1)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(matchModified, 1)
+ HTTP_ARG_VAL(last_modified, 0)
+ HTTP_ARG_VAL(for_range, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(matchEtag, 1)
+ HTTP_ARG_VAL(plain_etag, 0)
+ HTTP_ARG_VAL(for_range, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(matchRequestHeader, 2)
+ HTTP_ARG_VAL(header_name, 0)
+ HTTP_ARG_VAL(header_value, 0)
+ HTTP_ARG_VAL(case_sensitive, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(parseMessage, 1)
+ HTTP_ARG_VAL(message_string, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(parseHeaders, 1)
+ HTTP_ARG_VAL(headers_string, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(parseCookie, 1)
+ HTTP_ARG_VAL(cookie_string, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(parseParams, 1)
+ HTTP_ARG_VAL(param_string, 0)
+ HTTP_ARG_VAL(flags, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(chunkedDecode, 1)
+ HTTP_ARG_VAL(encoded_string, 0)
+HTTP_END_ARGS;
+
+#ifdef HTTP_HAVE_ZLIB
+HTTP_BEGIN_ARGS(deflate, 1)
+ HTTP_ARG_VAL(plain, 0)
+ HTTP_ARG_VAL(flags, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(inflate, 1)
+ HTTP_ARG_VAL(encoded, 0)
+HTTP_END_ARGS;
+#endif