# nng_http_server_add_handler(3http) Manual Page

## NAME

nng_http_server_add_handler - add HTTP server handler

## SYNOPSIS

    #include <nng/nng.h>
    #include <nng/supplemental/http/http.h>

    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 `nng_http_server_del_handler()` function.

## RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

## ERRORS

`NNG_EADDRINUSE` | Handler conflicts with another handler.
`NNG_ENOMEM` | Insufficient free memory exists.
`NNG_ENOTSUP` | HTTP not supported.

## SEE ALSO

nng_http_handler_alloc(3http), nng_http_server_del_handler(3http), nng_http_server_hold(3http), nng_strerror(3), nng(7)