This documentation is for version v1.3.0 of NNG, but the latest released version is v1.7.2. see the documentation for v1.7.2 for the most up-to-date information.

SYNOPSIS

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

int nng_http_server_set_tls(nng_http_server *s, nng_tls_config *cfg);

DESCRIPTION

The nng_http_server_set_tls() sets the TLS configuration of server s to cfg.

This change overwrites any previous TLS configuration.

This also invalidates any previously obtained values from nng_http_server_get_tls().

If the server is already running (i.e. it has been started with nng_http_server_start()) then this will fail with NNG_EBUSY.

Generally, the cfg must have a configured private key, set with nng_tls_config_own_cert() or similar.

RETURN VALUES

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

ERRORS

NNG_EBUSY

Server instance is running.

NNG_ENOMEM

Insufficient free memory exists.

NNG_ENOTSUP

Either HTTP or TLS not supported.