summaryrefslogtreecommitdiffhomepage
path: root/src/c/include
diff options
context:
space:
mode:
authorAndrew Clayton <a.clayton@nginx.com>2023-08-28 16:11:15 +0100
committerAndrew Clayton <a.clayton@nginx.com>2023-08-28 16:20:26 +0100
commitda5d9dc03b14b4d0f1ce0ce3ff093f387e148706 (patch)
treee78c14545bd275aec15768d410f9b2be0a21d4d1 /src/c/include
parent5bf0dfc92eb57f43dcf2eb29d9647c096b984774 (diff)
downloadunit-wasm-da5d9dc03b14b4d0f1ce0ce3ff093f387e148706.tar.gz
unit-wasm-da5d9dc03b14b4d0f1ce0ce3ff093f387e148706.tar.bz2
libunit-wasm: Remove the idx argument from luw_http_add_header()
This was used to specify the index of the response header being added, starting at 0 and incrementing by one for each header. Instead of having the programmer specify this, track it internally. We add an extra check in luw_http_add_header() to make sure we aren't trying to add more headers than we said with luw_http_init_headers(), if we are, simply return. This updates the API-C.md and the various examples and 'rusty' API wrapper. Suggested-by: Liam Crilly <liam@nginx.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'src/c/include')
-rw-r--r--src/c/include/unit/unit-wasm.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/c/include/unit/unit-wasm.h b/src/c/include/unit/unit-wasm.h
index dedf15a..cfff906 100644
--- a/src/c/include/unit/unit-wasm.h
+++ b/src/c/include/unit/unit-wasm.h
@@ -118,6 +118,9 @@ typedef struct {
/* points to the end of ctx->req_buf */
u8 *reqp;
+
+ /* tracks the response header index number */
+ s32 resp_hdr_idx;
} luw_ctx_t;
typedef enum {
@@ -189,7 +192,7 @@ extern size_t luw_mem_fill_buf_from_req(luw_ctx_t *ctx, size_t from);
extern void luw_mem_reset(luw_ctx_t *ctx);
extern void luw_http_send_response(const luw_ctx_t *ctx);
extern void luw_http_init_headers(luw_ctx_t *ctx, size_t nr, size_t offset);
-extern void luw_http_add_header(luw_ctx_t *ctx, u16 idx, const char *name,
+extern void luw_http_add_header(luw_ctx_t *ctx, const char *name,
const char *value);
extern void luw_http_send_headers(const luw_ctx_t *ctx);
extern void luw_http_response_end(void);