khttp_fcgi_test - test whether kcgi is using FastCGI


KHTTP_FCGI_TEST(3) Library Functions Manual KHTTP_FCGI_TEST(3)

NAME

khttp_fcgi_test — test whether kcgi is using FastCGI

LIBRARY

library “libkcgi”

SYNOPSIS

#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>

int

khttp_fcgi_test();

DESCRIPTION

Tests whether the kcgi(3) application is being run under a FastCGI or regular CGI socket. This function may only be run prior to khttp_fcgi_init(3). Afterward, its behaviour is undefined.

EXAMPLES

The following example starts an application in FastCGI or regular CGI mode depending upon the environment.

int
main(void)
{

struct kreq

req;
struct kfcgi

*fcgi;
enum kcgi_err

er;

if (!khttp_fcgi_test()) {
er = khttp_parse(&req, NULL, 0, NULL, 0, 0);
if (er != KCGI_OK)
err(1, "khttp_parse: %s", kcgi_strerror(er));
/* Do something. */
khttp_free(&req);
return 0;
}

er = khttp_fcgi_init(&fcgi, NULL, 0, NULL, 0, 0);
if (er != KCGI_OK)
errx(1, "khttp_fcgi_init: %s", kcgi_strerror(er));
for (;;) {
er = khttp_fcgi_parse(fcgi, &req);
if (er != KCGI_OK)
err(1, "khttp_fcgi_parse: %s", kcgi_strerror(er));
if (KCGI_EXIT == er) {
khttp_free(&req);
break;
}
/* Do something. */
khttp_free(&req);
}
khttp_fcgi_free(fcgi);
return 0;
}

SEE ALSO

kcgi(3)

AUTHORS

Written by Kristaps Dzonsons <[email protected]>. GNU $Mdocdate$ KHTTP_FCGI_TEST(3)


Updated 2024-01-29 - jenkler.se | uex.se