feat(lander): re-add Server header
parent
cda61f5433
commit
4ae1355cec
|
@ -85,6 +85,8 @@ lnm_err lnm_http_loop_run(lnm_http_loop *hl, uint16_t port);
|
||||||
|
|
||||||
void lnm_http_loop_set_api_key(lnm_http_loop *hl, const char *api_key);
|
void lnm_http_loop_set_api_key(lnm_http_loop *hl, const char *api_key);
|
||||||
|
|
||||||
|
void lnm_http_loop_set_server(lnm_http_loop *hl, const char *value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents what state an HTTP loop request is currently in.
|
* Represents what state an HTTP loop request is currently in.
|
||||||
*/
|
*/
|
||||||
|
@ -118,6 +120,7 @@ typedef struct lnm_http_loop_gctx {
|
||||||
lnm_http_ctx_reset_fn ctx_reset;
|
lnm_http_ctx_reset_fn ctx_reset;
|
||||||
lnm_http_ctx_free_fn ctx_free;
|
lnm_http_ctx_free_fn ctx_free;
|
||||||
const char *api_key;
|
const char *api_key;
|
||||||
|
const char *server;
|
||||||
void *c;
|
void *c;
|
||||||
} lnm_http_loop_gctx;
|
} lnm_http_loop_gctx;
|
||||||
|
|
||||||
|
|
|
@ -131,3 +131,8 @@ void lnm_http_loop_set_api_key(lnm_http_loop *hl, const char *api_key) {
|
||||||
lnm_http_loop_gctx *gctx = hl->gctx;
|
lnm_http_loop_gctx *gctx = hl->gctx;
|
||||||
gctx->api_key = api_key;
|
gctx->api_key = api_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void lnm_http_loop_set_server(lnm_http_loop *hl, const char *server) {
|
||||||
|
lnm_http_loop_gctx *gctx = hl->gctx;
|
||||||
|
gctx->server = server;
|
||||||
|
}
|
||||||
|
|
|
@ -158,6 +158,11 @@ void lnm_http_loop_state_process_add_headers(lnm_http_conn *conn) {
|
||||||
lnm_http_res_add_header_len(res, lnm_http_header_content_length, buf, digits,
|
lnm_http_res_add_header_len(res, lnm_http_header_content_length, buf, digits,
|
||||||
true);
|
true);
|
||||||
|
|
||||||
|
if (ctx->g->server != NULL) {
|
||||||
|
lnm_http_res_add_header(res, lnm_http_header_server, (char *)ctx->g->server,
|
||||||
|
false);
|
||||||
|
}
|
||||||
|
|
||||||
ctx->state = lnm_http_loop_state_write_status_line;
|
ctx->state = lnm_http_loop_state_write_status_line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
#include "lander.h"
|
#include "lander.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
|
const char *lander_server = "lander/" LANDER_VERSION;
|
||||||
|
|
||||||
lnm_http_loop *loop_init(lander_gctx *gctx, const char *api_key) {
|
lnm_http_loop *loop_init(lander_gctx *gctx, const char *api_key) {
|
||||||
lnm_http_loop *hl;
|
lnm_http_loop *hl;
|
||||||
lnm_http_step *step = NULL;
|
lnm_http_step *step = NULL;
|
||||||
|
@ -15,6 +17,7 @@ lnm_http_loop *loop_init(lander_gctx *gctx, const char *api_key) {
|
||||||
(lnm_http_ctx_reset_fn)lander_ctx_reset,
|
(lnm_http_ctx_reset_fn)lander_ctx_reset,
|
||||||
(lnm_http_ctx_free_fn)lander_ctx_free);
|
(lnm_http_ctx_free_fn)lander_ctx_free);
|
||||||
lnm_http_loop_set_api_key(hl, api_key);
|
lnm_http_loop_set_api_key(hl, api_key);
|
||||||
|
lnm_http_loop_set_server(hl, lander_server);
|
||||||
|
|
||||||
lnm_http_step_init(&step, lander_get_index);
|
lnm_http_step_init(&step, lander_get_index);
|
||||||
lnm_http_route_init_literal(&route, lnm_http_method_get, "/", step);
|
lnm_http_route_init_literal(&route, lnm_http_method_get, "/", step);
|
||||||
|
|
Loading…
Reference in New Issue