lighttpd 1.4.x
https://www.lighttpd.net/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
#include "first.h" |
|
|
|
#if defined(HAVE_FASTCGI_FCGI_STDIO_H) |
|
# include <fastcgi/fcgi_stdio.h> |
|
#elif defined(HAVE_FCGI_STDIO_H) |
|
# include <fcgi_stdio.h> |
|
#else |
|
# error Missing fcgi_stdio.h |
|
#endif |
|
|
|
#include <stdlib.h> |
|
#include <unistd.h> |
|
#include <string.h> |
|
|
|
int main (void) { |
|
int num_requests = 1; |
|
|
|
while (num_requests > 0 && |
|
FCGI_Accept() >= 0) { |
|
char* p; |
|
|
|
if (NULL != (p = getenv("QUERY_STRING"))) { |
|
if (0 == strcmp(p, "lf")) { |
|
printf("Status: 200 OK\n\n"); |
|
} else if (0 == strcmp(p, "crlf")) { |
|
printf("Status: 200 OK\r\n\r\n"); |
|
} else if (0 == strcmp(p, "slow-lf")) { |
|
printf("Status: 200 OK\n"); |
|
fflush(stdout); |
|
printf("\n"); |
|
} else if (0 == strcmp(p,"slow-crlf")) { |
|
printf("Status: 200 OK\r\n"); |
|
fflush(stdout); |
|
printf("\r\n"); |
|
} else if (0 == strcmp(p, "die-at-end")) { |
|
printf("Status: 200 OK\r\n\r\n"); |
|
num_requests--; |
|
} else { |
|
printf("Status: 200 OK\r\n\r\n"); |
|
} |
|
} else { |
|
printf("Status: 500 Internal Foo\r\n\r\n"); |
|
} |
|
|
|
if (0 == strcmp(p, "path_info")) { |
|
printf("%s", getenv("PATH_INFO")); |
|
} else if (0 == strcmp(p, "script_name")) { |
|
printf("%s", getenv("SCRIPT_NAME")); |
|
} else if (0 == strcmp(p, "var")) { |
|
p = getenv("X_LIGHTTPD_FCGI_AUTH"); |
|
printf("%s", p ? p : "(no value)"); |
|
} else { |
|
printf("test123"); |
|
} |
|
|
|
if (0 == num_requests) FCGI_Finish(); |
|
} |
|
|
|
return 0; |
|
}
|
|
|