mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-01 11:01:46 +00:00
MINOR: http/htx: Use sl_pos directly to replace the start-line
Since the HTX start-line is now referenced by position instead of by its payload address, it is fairly easier to replace it. No need to search the rigth block to find the start-line comparing the payloads address. It just enough to get the block at the position sl_pos.
This commit is contained in:
parent
dd2ad8518f
commit
7b7d507a5b
@ -174,23 +174,15 @@ int http_add_header(struct htx *htx, const struct ist n, const struct ist v)
|
||||
*/
|
||||
int http_replace_stline(struct htx *htx, const struct ist p1, const struct ist p2, const struct ist p3)
|
||||
{
|
||||
int32_t pos;
|
||||
struct htx_blk *blk;
|
||||
|
||||
for (pos = htx_get_head(htx); pos != -1; pos = htx_get_next(htx, pos)) {
|
||||
struct htx_blk *blk = htx_get_blk(htx, pos);
|
||||
enum htx_blk_type type = htx_get_blk_type(blk);
|
||||
if (htx->sl_pos == -1)
|
||||
return 0;
|
||||
|
||||
if (htx->sl_pos == pos) {
|
||||
if (!htx_replace_stline(htx, blk, p1, p2, p3))
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (type == HTX_BLK_EOM)
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
blk = htx_get_blk(htx, htx->sl_pos);
|
||||
if (!htx_replace_stline(htx, blk, p1, p2, p3))
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Replace the request method in the HTX message <htx> by <meth>. It returns 1
|
||||
|
Loading…
Reference in New Issue
Block a user