MINOR: http-htx: Add http_reply type based on what is used for http return rules

The http_reply structure is added. It represents a generic HTTP message used as
internal response by HAProxy. It is based on the structure used to store http
return rules. The aim is to store all error messages using this structure, as
well as http return and http deny rules.
diff --git a/include/types/http_htx.h b/include/types/http_htx.h
index 4c49b25..95b64cc 100644
--- a/include/types/http_htx.h
+++ b/include/types/http_htx.h
@@ -38,6 +38,36 @@
 	uint16_t       lws_after;
 };
 
+
+/* Structure used to build the header list of an HTTP reply */
+struct http_reply_hdr {
+	struct ist  name;  /* the header name */
+	struct list value; /* the log-format string value */
+	struct list list;  /* header chained list */
+};
+
+#define HTTP_REPLY_EMPTY    0x00 /* the reply has no payload */
+#define HTTP_REPLY_ERRMSG   0x01 /* the reply is an error message */
+#define HTTP_REPLY_ERRFILES 0x02 /* the reply references an http-errors section */
+#define HTTP_REPLY_RAW      0x03 /* the reply use a raw payload */
+#define HTTP_REPLY_LOGFMT   0x04 /* the reply use a log-format payload */
+
+/* Uses by HAProxy to generate internal responses */
+struct http_reply {
+	unsigned char type;                   /* HTTP_REPLY_* */
+	int status;                           /* The response status code */
+	char *ctype;                          /* The response content-type, may be NULL */
+	struct list hdrs;                     /* A list of http_reply_hdr */
+	union {
+		struct list   fmt;            /* A log-format string (type = HTTP_REPLY_LOGFMT) */
+		struct buffer obj;            /* A raw string (type = HTTP_REPLY_RAW) */
+		struct buffer *errmsg;        /* The error message to use as response (type = HTTP_REPLY_ERRMSG).
+					       * may be NULL, if so rely on the proxy error messages */
+		char          *http_errors;   /* The http-errors section to use (type = HTTP_REPLY_ERRFILES).
+					       * Should be resolved during post-check */
+	} body;
+};
+
 /* A custom HTTP error message load from a row file and converted in HTX. The
  * node key is the file path.
  */