MINOR: htx: add a new function to add a block without filling it

htx_add_blk_type_size() creates a block of a specified type and size
and returns it. The caller can then fill it.
This commit is contained in:
Willy Tarreau 2019-01-03 18:26:17 +01:00
parent e2b05ccff5
commit 52610e905d
2 changed files with 17 additions and 0 deletions

View file

@ -185,6 +185,7 @@ struct htx_blk *htx_replace_header(struct htx *htx, struct htx_blk *blk,
const struct ist name, const struct ist value);
struct htx_blk *htx_add_header(struct htx *htx, const struct ist name, const struct ist value);
struct htx_blk *htx_add_blk_type_size(struct htx *htx, enum htx_blk_type type, uint32_t blksz);
struct htx_blk *htx_add_all_headers(struct htx *htx, const struct http_hdr *hdrs);
struct htx_blk *htx_add_pseudo_header(struct htx *htx, enum htx_phdr_type phdr, const struct ist value);
struct htx_blk *htx_add_endof(struct htx *htx, enum htx_blk_type type);

View file

@ -661,6 +661,22 @@ struct htx_blk *htx_add_header(struct htx *htx, const struct ist name,
return blk;
}
/* Adds an HTX block of type <type> in <htx>, of size <blksz>. It returns the
* new block on success. Otherwise, it returns NULL. The caller is responsible
* for filling the block itself.
*/
struct htx_blk *htx_add_blk_type_size(struct htx *htx, enum htx_blk_type type, uint32_t blksz)
{
struct htx_blk *blk;
blk = htx_add_blk(htx, type, blksz);
if (!blk)
return NULL;
blk->info += blksz;
return blk;
}
struct htx_blk *htx_add_all_headers(struct htx *htx, const struct http_hdr *hdrs)
{
int i;