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
AUTHORS
Written by Kristaps Dzonsons <kristaps@bsd.lv>.
September 15,
2024 OpenBSD 7.5