3 ms·
I want to consume HTTP headers at the lowest possible level. The webserver would output a custom log file for direct consumption. There are certainly off the s
by shanebellone 4y ago
I want to consume HTTP headers at the lowest possible level. The webserver would output a custom log file for direct consumption.
There are certainly off the shelf options, but I enjoy reinventing the wheel and dislike dependencies. I'd like to use C because I have interest in OS level webservers.
- convolvatron 4y agothis is a 500 line server running in kernel mode on nanos https://github.com/nanovms/nanos/blob/master/src/http/http.c https://github.com/nanovms/nanos/blob/master/src/http/http.c
- e12e 4y agoI would probably go for rust over c if the only reason for c is "os level". But either way, this is for requests from "real" http clients, eg: web browsers? Presumably you're already "trapped" at a pretty high level, like tls, http/2 etc? Otoh, if low level is what you want, maybe look at: https://2ton.com.au/rwasa/ https://2ton.com.au/rwasa/ and/or the library it is built on. On the other hand, if you just want to log headers to a file, caddy can do that in a few lines: https://caddyserver.com/docs/caddyfile/directives/log https://caddyserver.com/docs/caddyfile/directives/log AFAIK it can't log request bodies out of the box (like the content of a POST).