diff options
Diffstat (limited to 'docs/man/nng_http_handler_set_host.adoc')
| -rw-r--r-- | docs/man/nng_http_handler_set_host.adoc | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/man/nng_http_handler_set_host.adoc b/docs/man/nng_http_handler_set_host.adoc new file mode 100644 index 00000000..d3e464e3 --- /dev/null +++ b/docs/man/nng_http_handler_set_host.adoc @@ -0,0 +1,56 @@ += nng_http_handler_set_host(3) +// +// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2018 Capitar IT Group BV <info@capitar.com> +// +// 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_handler_set_host - set host for HTTP handler + +== SYNOPSIS + +[source, c] +----------- +#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. + +TIP: 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. (Canonicaliztion +of the host name is performed though.) + +TIP: 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 + +<<nng_http_handler_alloc#,nng_http_handler_alloc(3)>>, +<<nng_http_server_add_handler#,nng_http_server_add_handler(3)>>, +<<nng#,nng(7)>> |
