![]() |
SOUND4 IMPACT.CL Library [1.3.6]
|
Web server configuring. More...
Macros | |
#define | SOUND4_INVALID_WEBSERVER_ID ((uint64_t)-1) |
#define | SOUND4_WEBSERVER_HTTP_OK (1<<0) |
#define | SOUND4_WEBSERVER_HTTPS_OK (1<<1) |
Functions | |
uint64_t | impact_Webserver_tcp (unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port) |
uint64_t | impact_Webserver_tcp2 (unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port, const struct impact_CParameters *parameters) |
uint64_t | impact_Webserver (unsigned int listenport, unsigned int listenport_secure, struct impact_CInstance *instance) |
int | impact_Webserver_Stop (uint64_t id, int timeout_ms) |
int | impact_Webserver_Status (uint64_t id) |
void | impact_Webserver_SetAppHealth (struct impact_CInstance *instance, int httpcode, const char *contenttype, const char *content) |
void | impact_Webserver_GetAppHealth (struct impact_CInstance *instance, int *httpcode, char **contenttype, char **content) |
void | impact_Webserver_FreeString (char *str) |
Run a web server to configure the processor
The web server also expose /health
which should always answer 200.
The web server also expose /licvalid
which should answer 200 when license is valid, 402 when it is not valid, other standard code for other errors.
See also how to setup authentication with Environment variables and parameters. Their use is documented in impact_InitProcess3.
#define SOUND4_INVALID_WEBSERVER_ID ((uint64_t)-1) |
This represents an invalid webserver id impact_Webserver and impact_Webserver_tcp will never return this value
Definition at line 1158 of file sound4.impact.cl.h.
#define SOUND4_WEBSERVER_HTTP_OK (1<<0) |
If this bit is set in the return value from impact_Webserver_Status, then HTTP server is OK
Definition at line 1163 of file sound4.impact.cl.h.
#define SOUND4_WEBSERVER_HTTPS_OK (1<<1) |
If this bit is set in the return value from impact_Webserver_Status, then HTTPS server is OK
Definition at line 1167 of file sound4.impact.cl.h.
uint64_t impact_Webserver | ( | unsigned int | listenport, |
unsigned int | listenport_secure, | ||
struct impact_CInstance * | instance | ||
) |
Run a web server, connecting to local instance internally (no expose port needed)
This function returns after connecting to the process, and continue to run in background See impact_Webserver_Stop too stop it gracefully
For secure connection, it will use privatekey.pem and certificate.pem from current directory. Environment variables SSL_PRIVATE_PATH
and SSL_CERTIFICATE_PATH
can override those (see Environment variables and parameters). If none is valid, it will try also /etc/ssl/certs/server.key and /etc/ssl/certs/server.crt.
listenport | The port to listen for HTTP connections (0 to disable) |
listenport_secure | The port to listen for HTTPS connections (0 to disable) |
instance | The process instance to connect to |
void impact_Webserver_FreeString | ( | char * | str | ) |
Free a a string returned by impact_Webserver_GetAppHealth
str | the string to free |
void impact_Webserver_GetAppHealth | ( | struct impact_CInstance * | instance, |
int * | httpcode, | ||
char ** | contenttype, | ||
char ** | content | ||
) |
Get the current web server /apphealth returned http code,content-type and content
instance | The process instance |
httpcode | The http code pointer |
contenttype | The http Content-Type header pointer (to be freed with impact_Webserver_FreeString) |
content | The http body content pointer (to be freed with impact_Webserver_FreeString) |
void impact_Webserver_SetAppHealth | ( | struct impact_CInstance * | instance, |
int | httpcode, | ||
const char * | contenttype, | ||
const char * | content | ||
) |
Set the web server /apphealth status info
The hosting application can use this to customize the handling of /apphealth path.
instance | The process instance |
httpcode | The http code |
contenttype | The http Content-Type header |
content | The http body content |
int impact_Webserver_Status | ( | uint64_t | id | ) |
Get the web server status
id | The web server Id, returned by impact_Webserver_tcp or impact_Webserver |
int impact_Webserver_Stop | ( | uint64_t | id, |
int | timeout_ms | ||
) |
Stop a web server started with impact_Webserver_tcp
id | The web server Id, returned by impact_Webserver_tcp or impact_Webserver |
timeout_ms | The timeout to wait gracefull shutdown |
uint64_t impact_Webserver_tcp | ( | unsigned int | listenport, |
unsigned int | listenport_secure, | ||
const char * | socket_ip, | ||
unsigned int | socket_port | ||
) |
Run a web server, connecting to process with JSON over TCP
Same as impact_Webserver_tcp2, but with default parameters (from env)
uint64_t impact_Webserver_tcp2 | ( | unsigned int | listenport, |
unsigned int | listenport_secure, | ||
const char * | socket_ip, | ||
unsigned int | socket_port, | ||
const struct impact_CParameters * | parameters | ||
) |
Run a web server, connecting to process with JSON over TCP, using parameters
This function returns after connecting to the process, and continue to run in background See impact_Webserver_Stop too stop it gracefully
For secure connection, it will use privatekey.pem and certificate.pem from current directory. Environment variables SSL_PRIVATE_PATH
and SSL_CERTIFICATE_PATH
can override those (see Environment variables and parameters). If none is valid, it will try also /etc/ssl/certs/server.key and /etc/ssl/certs/server.crt.
listenport | The port to listen for HTTP connections |
listenport_secure | The port to listen for HTTPS connections |
socket_ip | The ip of the process to connect to |
socket_port | The port of the process's JSON server to connect to |
parameters | The parameters to use, created with impact_NewParameters |