This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.3.2. See the documentation for v1.3.2 for the most up-to-date information.

nng_http_handler_set_host(3http)

NAME

nng_http_handler_set_host - set host for HTTP handler

SYNOPSIS

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

int nng_http_handler_set_host(nng_http_handler *handler, const char *host);

DESCRIPTION

The nng_http_handler_set_host() function is used to limit the scope of the handler so that it will only be called when the specified host matches the value of the Host: HTTP header.

This can be used to create servers with multiple handlers for virtual hosting.

The value of the host can include a colon and port, and should match exactly the value of the Host header sent by the client. (Canonicalization of the host name is performed though.)

As the server framework does not support listening on multiple ports, the port number can be elided. The matching test only considers the hostname or IP address, and ignores any trailing port number.

RETURN VALUES

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

ERRORS

NNG_ENOMEM

Insufficient free memory to perform the operation.

NNG_ENOTSUP

No support for HTTP in the library.

SEE ALSO