MINOR: http-htx: Use http reply from the http-errors section
When an http reply is configured to use an error message from an http-errors
section, instead of referencing the error message, the http reply is used. To do
so the new http reply type HTTP_REPLY_INDIRECT has been added.
diff --git a/include/types/http_htx.h b/include/types/http_htx.h
index f1f4685..c323943 100644
--- a/include/types/http_htx.h
+++ b/include/types/http_htx.h
@@ -47,10 +47,11 @@
};
#define HTTP_REPLY_EMPTY 0x00 /* the reply has no payload */
-#define HTTP_REPLY_ERRMSG 0x01 /* the reply is an error message */
+#define HTTP_REPLY_ERRMSG 0x01 /* the reply is an error message (may be NULL) */
#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 */
+#define HTTP_REPLY_INDIRECT 0x05 /* the reply references another http-reply (may be NULL) */
/* Uses by HAProxy to generate internal responses */
struct http_reply {
@@ -63,7 +64,8 @@
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).
+ struct http_reply *reply; /* The HTTP reply to use as response (type = HTTP_REPLY_INDIRECT) */
+ char *http_errors; /* The http-errors section to use (type = HTTP_REPLY_ERRFILES).
* Should be resolved during post-check */
} body;
struct list list; /* next http_reply in the global list.