summaryrefslogtreecommitdiff
path: root/samples/net/http_server/src/http_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'samples/net/http_server/src/http_server.c')
-rw-r--r--samples/net/http_server/src/http_server.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/samples/net/http_server/src/http_server.c b/samples/net/http_server/src/http_server.c
index 3355a4ce0..a94c59ede 100644
--- a/samples/net/http_server/src/http_server.c
+++ b/samples/net/http_server/src/http_server.c
@@ -21,6 +21,32 @@
NET_BUF_POOL_DEFINE(http_msg_pool, HTTP_BUF_CTR, HTTP_BUF_SIZE, 0, NULL);
+void http_accept_cb(struct net_context *net_ctx, struct sockaddr *addr,
+ socklen_t addr_len, int status, void *data)
+{
+ struct http_server_ctx *http_ctx = NULL;
+
+ ARG_UNUSED(addr_len);
+ ARG_UNUSED(data);
+
+ if (status != 0) {
+ net_context_put(net_ctx);
+ return;
+ }
+
+ print_client_banner(addr);
+
+ http_ctx = http_ctx_get();
+ if (!http_ctx) {
+ net_context_put(net_ctx);
+ return;
+ }
+
+ http_ctx_set(http_ctx, net_ctx);
+
+ net_context_recv(net_ctx, http_rx_tx, K_NO_WAIT, http_ctx);
+}
+
/**
* @brief http_ctx_release Releases an HTTP context
* @return 0, future versions may return error codes