= nng_http_server_set_tls(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_set_tls - set HTTP server TLS configuration == SYNOPSIS [source, c] ---- #include #include 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. IMPORTANT: This also invalidates any previously obtained values from xref:nng_http_server_get_tls.3http.adoc[`nng_http_server_get_tls()`]. If the server is already running (i.e. it has been started with xref:nng_http_server_start.3http.adoc[`nng_http_server_start()`]) then this will fail with `NNG_EBUSY`. TIP: Generally, the _cfg_ must have a configured private key, set with xref:nng_tls_config_own_cert.3tls.adoc[`nng_tls_config_own_cert()`] or similar. == RETURN VALUES This function returns 0 on success, and non-zero otherwise. == ERRORS [horizontal] `NNG_EBUSY`:: Server instance is running. `NNG_ENOMEM`:: Insufficient free memory exists. `NNG_ENOTSUP`:: Either HTTP or TLS not supported. == SEE ALSO [.text-left] xref:nng_http_server_get_tls.3http.adoc[nng_http_server_get_tls(3http)], xref:nng_http_server_hold.3http.adoc[nng_http_server_hold(3http)], xref:nng_http_server_start.3http.adoc[nng_http_server_start(3http)], xref:nng_tls_config_alloc.3tls.adoc[nng_tls_config_alloc(3tls)], xref:nng_strerror.3.adoc[nng_strerror(3)], xref:nng.7.adoc[nng(7)]