![]() |
SOUND4 x1.CLOUD Library [1.5.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 | cloudx1_Webserver_tcp (unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port) |
uint64_t | cloudx1_Webserver_tcp2 (unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port, const struct cloudx1_CParameters *parameters) |
uint64_t | cloudx1_Webserver (unsigned int listenport, unsigned int listenport_secure, struct cloudx1_CInstance *instance) |
int | cloudx1_Webserver_Stop (uint64_t id, int timeout_ms) |
int | cloudx1_Webserver_Status (uint64_t id) |
void | cloudx1_Webserver_SetAppHealth (struct cloudx1_CInstance *instance, int httpcode, const char *contenttype, const char *content) |
void | cloudx1_Webserver_GetAppHealth (struct cloudx1_CInstance *instance, int *httpcode, char **contenttype, char **content) |
void | cloudx1_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 cloudx1_InitProcess3.
#define SOUND4_INVALID_WEBSERVER_ID ((uint64_t)-1) |
This represents an invalid webserver id cloudx1_Webserver and cloudx1_Webserver_tcp will never return this value
Definition at line 1158 of file sound4.x1.cloud.h.
#define SOUND4_WEBSERVER_HTTP_OK (1<<0) |
If this bit is set in the return value from cloudx1_Webserver_Status, then HTTP server is OK
Definition at line 1163 of file sound4.x1.cloud.h.
#define SOUND4_WEBSERVER_HTTPS_OK (1<<1) |
If this bit is set in the return value from cloudx1_Webserver_Status, then HTTPS server is OK
Definition at line 1167 of file sound4.x1.cloud.h.
uint64_t cloudx1_Webserver | ( | unsigned int | listenport, |
unsigned int | listenport_secure, | ||
struct cloudx1_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 cloudx1_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 cloudx1_Webserver_FreeString | ( | char * | str | ) |
Free a a string returned by cloudx1_Webserver_GetAppHealth
str | the string to free |
void cloudx1_Webserver_GetAppHealth | ( | struct cloudx1_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 cloudx1_Webserver_FreeString) |
content | The http body content pointer (to be freed with cloudx1_Webserver_FreeString) |
void cloudx1_Webserver_SetAppHealth | ( | struct cloudx1_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 cloudx1_Webserver_Status | ( | uint64_t | id | ) |
Get the web server status
id | The web server Id, returned by cloudx1_Webserver_tcp or cloudx1_Webserver |
int cloudx1_Webserver_Stop | ( | uint64_t | id, |
int | timeout_ms | ||
) |
Stop a web server started with cloudx1_Webserver_tcp
id | The web server Id, returned by cloudx1_Webserver_tcp or cloudx1_Webserver |
timeout_ms | The timeout to wait gracefull shutdown |
uint64_t cloudx1_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 cloudx1_Webserver_tcp2, but with default parameters (from env)
uint64_t cloudx1_Webserver_tcp2 | ( | unsigned int | listenport, |
unsigned int | listenport_secure, | ||
const char * | socket_ip, | ||
unsigned int | socket_port, | ||
const struct cloudx1_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 cloudx1_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 cloudx1_NewParameters |