= nng_http_server_add_handler(3http) // // Copyright 2018 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_http_server_add_handler - add HTTP server handler == SYNOPSIS [source, c] ---- #include #include int nng_http_server_add_handler(nng_http_server *s, nng_http_handler *h); ---- == DESCRIPTION The `nng_http_server_add_handler()` adds the handler _h_ to the server instance _s_. If another handler is already added to the server that would conflict with handler _h_, then the operation will fail with `NNG_EADDRINUSE`. If a handler is added to a server, and the server is subsequently deallocated, the handler and any of its resources will also be deallocated. Handlers that are added to a server may be subsequently removed using the xref:nng_http_server_del_handler.3http.adoc[`nng_http_server_del_handler()`] function. == RETURN VALUES This function returns 0 on success, and non-zero otherwise. == ERRORS [horizontal] `NNG_EADDRINUSE`:: Handler conflicts with another handler. `NNG_ENOMEM`:: Insufficient free memory exists. `NNG_ENOTSUP`:: HTTP not supported. == SEE ALSO [.text-left] xref:nng_http_handler_alloc.3http.adoc[nng_http_handler_alloc(3http)], xref:nng_http_server_del_handler.3http.adoc[nng_http_server_del_handler(3http)], xref:nng_http_server_hold.3http.adoc[nng_http_server_hold(3http)], xref:nng_strerror.3.adoc[nng_strerror(3)], xref:nng.7.adoc[nng(7)]