CLEANUP: h1-htx: Move htx-to-h1 formatting functions from htx.c to h1_htx.c

The functions "htx_*_to_h1()" have been renamed into "h1_format_htx_*()" and
moved in the file h1_htx.c. It is the right place for such functions.
diff --git a/include/common/htx.h b/include/common/htx.h
index da035b9..5527a47 100644
--- a/include/common/htx.h
+++ b/include/common/htx.h
@@ -255,11 +255,6 @@
 struct htx_blk *htx_add_last_data(struct htx *htx, struct ist data);
 void htx_move_blk_before(struct htx *htx, struct htx_blk **blk, struct htx_blk **ref);
 
-int htx_reqline_to_h1(const struct htx_sl *sl, struct buffer *chk);
-int htx_stline_to_h1(const struct htx_sl *sl, struct buffer *chk);
-int htx_hdr_to_h1(const struct ist n, const struct ist v, struct buffer *chk);
-int htx_data_to_h1(const struct ist data, struct buffer *chk, int chunked);
-
 /* Functions and macros to get parts of the start-line or legnth of these
  * parts. Request and response start-lines are both composed of 3 parts.
  */
diff --git a/include/proto/h1_htx.h b/include/proto/h1_htx.h
index 51db02c..e77663b 100644
--- a/include/proto/h1_htx.h
+++ b/include/proto/h1_htx.h
@@ -35,6 +35,11 @@
 int h1_parse_msg_tlrs(struct h1m *h1m, struct htx *dsthtx,
 		      struct buffer *srcbuf, size_t ofs, size_t max);
 
+int h1_format_htx_reqline(const struct htx_sl *sl, struct buffer *chk);
+int h1_format_htx_stline(const struct htx_sl *sl, struct buffer *chk);
+int h1_format_htx_hdr(const struct ist n, const struct ist v, struct buffer *chk);
+int h1_format_htx_data(const struct ist data, struct buffer *chk, int chunked);
+
 #endif /* _PROTO_H1_HTX_H */
 
 /*
diff --git a/src/h1_htx.c b/src/h1_htx.c
index 9ecabf0..48bfae5 100644
--- a/src/h1_htx.c
+++ b/src/h1_htx.c
@@ -603,6 +603,146 @@
 	return 0;
 }
 
+
+/* Appends the H1 representation of the request line <sl> to the chunk <chk>. It
+ * returns 1 if data are successfully appended, otherwise it returns 0.
+ */
+int h1_format_htx_reqline(const struct htx_sl *sl, struct buffer *chk)
+{
+	struct ist uri;
+	size_t sz = chk->data;
+
+	uri = htx_sl_req_uri(sl);
+	if (sl->flags & HTX_SL_F_NORMALIZED_URI) {
+		uri = http_get_path(uri);
+		if (unlikely(!uri.len)) {
+			if (sl->info.req.meth == HTTP_METH_OPTIONS)
+				uri = ist("*");
+			else
+				uri = ist("/");
+		}
+	}
+
+	if (!chunk_memcat(chk, HTX_SL_REQ_MPTR(sl), HTX_SL_REQ_MLEN(sl)) ||
+	    !chunk_memcat(chk, " ", 1) ||
+	    !chunk_memcat(chk, uri.ptr, uri.len) ||
+	    !chunk_memcat(chk, " ", 1))
+		goto full;
+
+	if (sl->flags & HTX_SL_F_VER_11) {
+		if (!chunk_memcat(chk, "HTTP/1.1", 8))
+			goto full;
+	}
+	else {
+		if (!chunk_memcat(chk, HTX_SL_REQ_VPTR(sl), HTX_SL_REQ_VLEN(sl)))
+			goto full;
+	}
+
+	if (!chunk_memcat(chk, "\r\n", 2))
+		goto full;
+
+	return 1;
+
+  full:
+	chk->data = sz;
+	return 0;
+}
+
+/* Appends the H1 representation of the status line <sl> to the chunk <chk>. It
+ * returns 1 if data are successfully appended, otherwise it returns 0.
+ */
+int h1_format_htx_stline(const struct htx_sl *sl, struct buffer *chk)
+{
+	size_t sz = chk->data;
+
+	if (HTX_SL_LEN(sl) + 4 > b_room(chk))
+		return 0;
+
+	if (sl->flags & HTX_SL_F_VER_11) {
+		if (!chunk_memcat(chk, "HTTP/1.1", 8))
+			goto full;
+	}
+	else {
+		if (!chunk_memcat(chk, HTX_SL_RES_VPTR(sl), HTX_SL_RES_VLEN(sl)))
+			goto full;
+	}
+	if (!chunk_memcat(chk, " ", 1) ||
+	    !chunk_memcat(chk, HTX_SL_RES_CPTR(sl), HTX_SL_RES_CLEN(sl)) ||
+	    !chunk_memcat(chk, " ", 1) ||
+	    !chunk_memcat(chk, HTX_SL_RES_RPTR(sl), HTX_SL_RES_RLEN(sl)) ||
+	    !chunk_memcat(chk, "\r\n", 2))
+		goto full;
+
+	return 1;
+
+  full:
+	chk->data = sz;
+	return 0;
+}
+
+/* Appends the H1 representation of the header <n> witht the value <v> to the
+ * chunk <chk>. It returns 1 if data are successfully appended, otherwise it
+ * returns 0.
+ */
+int h1_format_htx_hdr(const struct ist n, const struct ist v, struct buffer *chk)
+{
+	size_t sz = chk->data;
+
+	if (n.len + v.len + 4 > b_room(chk))
+		return 0;
+
+	if (!chunk_memcat(chk, n.ptr, n.len) ||
+	    !chunk_memcat(chk, ": ", 2) ||
+	    !chunk_memcat(chk, v.ptr, v.len) ||
+	    !chunk_memcat(chk, "\r\n", 2))
+		goto full;
+
+	return 1;
+
+  full:
+	chk->data = sz;
+	return 0;
+}
+
+/* Appends the H1 representation of the data <data> to the chunk <chk>. If
+ * <chunked> is non-zero, it emits HTTP/1 chunk-encoded data. It returns 1 if
+ * data are successfully appended, otherwise it returns 0.
+ */
+int h1_format_htx_data(const struct ist data, struct buffer *chk, int chunked)
+{
+	size_t sz = chk->data;
+
+	if (chunked) {
+		uint32_t chksz;
+		char     tmp[10];
+		char    *beg, *end;
+
+		chksz = data.len;
+
+		beg = end = tmp+10;
+		*--beg = '\n';
+		*--beg = '\r';
+		do {
+			*--beg = hextab[chksz & 0xF];
+		} while (chksz >>= 4);
+
+		if (!chunk_memcat(chk, beg, end - beg) ||
+		    !chunk_memcat(chk, data.ptr, data.len) ||
+		    !chunk_memcat(chk, "\r\n", 2))
+			goto full;
+	}
+	else {
+		if (!chunk_memcat(chk, data.ptr, data.len))
+			return 0;
+	}
+
+	return 1;
+
+  full:
+	chk->data = sz;
+	return 0;
+}
+
 /*
  * Local variables:
  *  c-indent-level: 8
diff --git a/src/http_fetch.c b/src/http_fetch.c
index 0989b99..bf4c006 100644
--- a/src/http_fetch.c
+++ b/src/http_fetch.c
@@ -36,6 +36,7 @@
 #include <proto/channel.h>
 #include <proto/connection.h>
 #include <proto/http_fetch.h>
+#include <proto/h1_htx.h>
 #include <proto/http_htx.h>
 #include <proto/log.h>
 #include <proto/obj_type.h>
@@ -447,7 +448,7 @@
 			struct ist n = htx_get_blk_name(htx, blk);
 			struct ist v = htx_get_blk_value(htx, blk);
 
-			if (!htx_hdr_to_h1(n, v, temp))
+			if (!h1_format_htx_hdr(n, v, temp))
 				return 0;
 		}
 		else if (type == HTX_BLK_EOH) {
@@ -559,7 +560,7 @@
 		if (type == HTX_BLK_EOM || type == HTX_BLK_TLR || type == HTX_BLK_EOT)
 			break;
 		if (type == HTX_BLK_DATA) {
-			if (!htx_data_to_h1(htx_get_blk_value(htx, blk), temp, 0))
+			if (!h1_format_htx_data(htx_get_blk_value(htx, blk), temp, 0))
 				return 0;
 		}
 	}
@@ -1800,7 +1801,7 @@
 			if (type == HTX_BLK_EOM || type == HTX_BLK_TLR || type == HTX_BLK_EOT)
 				break;
 			if (type == HTX_BLK_DATA) {
-				if (!htx_data_to_h1(htx_get_blk_value(htx, blk), temp, 0))
+				if (!h1_format_htx_data(htx_get_blk_value(htx, blk), temp, 0))
 					return 0;
 			}
 		}
diff --git a/src/htx.c b/src/htx.c
index bdca69b..139f3c0 100644
--- a/src/htx.c
+++ b/src/htx.c
@@ -1040,142 +1040,3 @@
 	*blk = cblk;
 	*ref = pblk;
 }
-
-/* Appends the H1 representation of the request line <sl> to the chunk <chk>. It
- * returns 1 if data are successfully appended, otherwise it returns 0.
- */
-int htx_reqline_to_h1(const struct htx_sl *sl, struct buffer *chk)
-{
-	struct ist uri;
-	size_t sz = chk->data;
-
-	uri = htx_sl_req_uri(sl);
-	if (sl->flags & HTX_SL_F_NORMALIZED_URI) {
-		uri = http_get_path(uri);
-		if (unlikely(!uri.len)) {
-			if (sl->info.req.meth == HTTP_METH_OPTIONS)
-				uri = ist("*");
-			else
-				uri = ist("/");
-		}
-	}
-
-	if (!chunk_memcat(chk, HTX_SL_REQ_MPTR(sl), HTX_SL_REQ_MLEN(sl)) ||
-	    !chunk_memcat(chk, " ", 1) ||
-	    !chunk_memcat(chk, uri.ptr, uri.len) ||
-	    !chunk_memcat(chk, " ", 1))
-		goto full;
-
-	if (sl->flags & HTX_SL_F_VER_11) {
-		if (!chunk_memcat(chk, "HTTP/1.1", 8))
-			goto full;
-	}
-	else {
-		if (!chunk_memcat(chk, HTX_SL_REQ_VPTR(sl), HTX_SL_REQ_VLEN(sl)))
-			goto full;
-	}
-
-	if (!chunk_memcat(chk, "\r\n", 2))
-		goto full;
-
-	return 1;
-
-  full:
-	chk->data = sz;
-	return 0;
-}
-
-/* Appends the H1 representation of the status line <sl> to the chunk <chk>. It
- * returns 1 if data are successfully appended, otherwise it returns 0.
- */
-int htx_stline_to_h1(const struct htx_sl *sl, struct buffer *chk)
-{
-	size_t sz = chk->data;
-
-	if (HTX_SL_LEN(sl) + 4 > b_room(chk))
-		return 0;
-
-	if (sl->flags & HTX_SL_F_VER_11) {
-		if (!chunk_memcat(chk, "HTTP/1.1", 8))
-			goto full;
-	}
-	else {
-		if (!chunk_memcat(chk, HTX_SL_RES_VPTR(sl), HTX_SL_RES_VLEN(sl)))
-			goto full;
-	}
-	if (!chunk_memcat(chk, " ", 1) ||
-	    !chunk_memcat(chk, HTX_SL_RES_CPTR(sl), HTX_SL_RES_CLEN(sl)) ||
-	    !chunk_memcat(chk, " ", 1) ||
-	    !chunk_memcat(chk, HTX_SL_RES_RPTR(sl), HTX_SL_RES_RLEN(sl)) ||
-	    !chunk_memcat(chk, "\r\n", 2))
-		goto full;
-
-	return 1;
-
-  full:
-	chk->data = sz;
-	return 0;
-}
-
-/* Appends the H1 representation of the header <n> witht the value <v> to the
- * chunk <chk>. It returns 1 if data are successfully appended, otherwise it
- * returns 0.
- */
-int htx_hdr_to_h1(const struct ist n, const struct ist v, struct buffer *chk)
-{
-	size_t sz = chk->data;
-
-	if (n.len + v.len + 4 > b_room(chk))
-		return 0;
-
-	if (!chunk_memcat(chk, n.ptr, n.len) ||
-	    !chunk_memcat(chk, ": ", 2) ||
-	    !chunk_memcat(chk, v.ptr, v.len) ||
-	    !chunk_memcat(chk, "\r\n", 2))
-		goto full;
-
-	return 1;
-
-  full:
-	chk->data = sz;
-	return 0;
-}
-
-/* Appends the H1 representation of the data <data> to the chunk <chk>. If
- * <chunked> is non-zero, it emits HTTP/1 chunk-encoded data. It returns 1 if
- * data are successfully appended, otherwise it returns 0.
- */
-int htx_data_to_h1(const struct ist data, struct buffer *chk, int chunked)
-{
-	size_t sz = chk->data;
-
-	if (chunked) {
-		uint32_t chksz;
-		char     tmp[10];
-		char    *beg, *end;
-
-		chksz = data.len;
-
-		beg = end = tmp+10;
-		*--beg = '\n';
-		*--beg = '\r';
-		do {
-			*--beg = hextab[chksz & 0xF];
-		} while (chksz >>= 4);
-
-		if (!chunk_memcat(chk, beg, end - beg) ||
-		    !chunk_memcat(chk, data.ptr, data.len) ||
-		    !chunk_memcat(chk, "\r\n", 2))
-			goto full;
-	}
-	else {
-		if (!chunk_memcat(chk, data.ptr, data.len))
-			return 0;
-	}
-
-	return 1;
-
-  full:
-	chk->data = sz;
-	return 0;
-}
diff --git a/src/mux_h1.c b/src/mux_h1.c
index 935c925..ac520a4 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -1588,7 +1588,7 @@
 				sl = htx_get_blk_ptr(chn_htx, blk);
 				h1s->meth = sl->info.req.meth;
 				h1_parse_req_vsn(h1m, sl);
-				if (!htx_reqline_to_h1(sl, &tmp))
+				if (!h1_format_htx_reqline(sl, &tmp))
 					goto full;
 				h1m->flags |= H1_MF_XFER_LEN;
 				if (sl->flags & HTX_SL_F_BODYLESS)
@@ -1603,7 +1603,7 @@
 				sl = htx_get_blk_ptr(chn_htx, blk);
 				h1s->status = sl->info.res.status;
 				h1_parse_res_vsn(h1m, sl);
-				if (!htx_stline_to_h1(sl, &tmp))
+				if (!h1_format_htx_stline(sl, &tmp))
 					goto full;
 				if (sl->flags & HTX_SL_F_XFER_LEN)
 					h1m->flags |= H1_MF_XFER_LEN;
@@ -1650,7 +1650,7 @@
 				/* Try to adjust the case of the header name */
 				if (h1c->px->options2 & (PR_O2_H1_ADJ_BUGCLI|PR_O2_H1_ADJ_BUGSRV))
 					h1_adjust_case_outgoing_hdr(h1s, h1m, &n);
-				if (!htx_hdr_to_h1(n, v, &tmp))
+				if (!h1_format_htx_hdr(n, v, &tmp))
 					goto full;
 			  skip_hdr:
 				h1m->state = H1_MSG_HDR_L2_LWS;
@@ -1672,7 +1672,7 @@
 						/* Try to adjust the case of the header name */
 						if (h1c->px->options2 & (PR_O2_H1_ADJ_BUGCLI|PR_O2_H1_ADJ_BUGSRV))
 							h1_adjust_case_outgoing_hdr(h1s, h1m, &n);
-						if (!htx_hdr_to_h1(n, v, &tmp))
+						if (!h1_format_htx_hdr(n, v, &tmp))
 							goto full;
 					}
 					h1s->flags |= H1S_F_HAVE_O_CONN;
@@ -1690,7 +1690,7 @@
 					v = ist("chunked");
 					if (h1c->px->options2 & (PR_O2_H1_ADJ_BUGCLI|PR_O2_H1_ADJ_BUGSRV))
 						h1_adjust_case_outgoing_hdr(h1s, h1m, &n);
-					if (!htx_hdr_to_h1(n, v, &tmp))
+					if (!h1_format_htx_hdr(n, v, &tmp))
 						goto full;
 					TRACE_STATE("add \"Transfer-Encoding: chunked\"", H1_EV_TX_DATA|H1_EV_TX_HDRS, h1c->conn, h1s);
 					h1m->flags |= H1_MF_CHNK;
@@ -1708,7 +1708,7 @@
 						/* Try to adjust the case of the header name */
 						if (h1c->px->options2 & (PR_O2_H1_ADJ_BUGCLI|PR_O2_H1_ADJ_BUGSRV))
 							h1_adjust_case_outgoing_hdr(h1s, h1m, &n);
-						if (!htx_hdr_to_h1(n, v, &tmp))
+						if (!h1_format_htx_hdr(n, v, &tmp))
 							goto full;
 					}
 					TRACE_STATE("add server name header", H1_EV_TX_DATA|H1_EV_TX_HDRS, h1c->conn, h1s);
@@ -1793,7 +1793,7 @@
 				}
 				v = htx_get_blk_value(chn_htx, blk);
 				v.len = vlen;
-				if (!htx_data_to_h1(v, &tmp, !!(h1m->flags & H1_MF_CHNK)))
+				if (!h1_format_htx_data(v, &tmp, !!(h1m->flags & H1_MF_CHNK)))
 					goto full;
 
 				if (h1m->state == H1_MSG_DATA)
@@ -1829,7 +1829,7 @@
 					/* Try to adjust the case of the header name */
 					if (h1c->px->options2 & (PR_O2_H1_ADJ_BUGCLI|PR_O2_H1_ADJ_BUGSRV))
 						h1_adjust_case_outgoing_hdr(h1s, h1m, &n);
-					if (!htx_hdr_to_h1(n, v, &tmp))
+					if (!h1_format_htx_hdr(n, v, &tmp))
 						goto full;
 				}
 				break;