cosmopolitan/net/http
Justine Tunney b107d2709f Add /statusz page to redbean plus other enhancements
redbean improvements:

- Explicitly disable corking
- Simulate Python regex API for Lua
- Send warmup requests in main process on startup
- Add Class-A granular IPv4 network classification
- Add /statusz page so you can monitor your redbean's health
- Fix regressions on OpenBSD/NetBSD caused by recent changes
- Plug Authorization header into Lua GetUser and GetPass APIs
- Recognize X-Forwarded-{For,Host} from local reverse proxies
- Add many additional functions to redbean Lua server page API
- Report resource usage of child processes on `/` listing page
- Introduce `-a` flag for logging child process resource usage
- Introduce `-t MILLIS` flag and `ProgramTimeout(ms)` init API
- Introduce `-H "Header: value"` flag and `ProgramHeader(k,v)` API

Cosmopolitan Libc improvements:

- Make strerror() simpler
- Make inet_pton() not depend on sscanf()
- Fix OpenExecutable() which broke .data section earlier
- Fix stdio in cases where it overflows kernel tty buffer
- Fix bugs in crash reporting w/o .com.dbg binary present
- Add polyfills for SO_LINGER, SO_RCVTIMEO, and SO_SNDTIMEO
- Polyfill TCP_CORK on BSD and XNU using TCP_NOPUSH magnums

New netcat clone in examples/nc.c:

While testing some of the failure conditions for redbean, I noticed that
BusyBox's `nc` command is pretty busted, if you use it as an interactive
tool, rather than having it be part of a pipeline. Unfortunately this'll
only work on UNIX since Windows doesn't let us poll on stdio and sockets
at the same time because I don't think they want tools like this running
on their platform. So if you want forbidden fruit, it's here so enjoy it
2021-04-23 18:53:57 -07:00
..
categorizeip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
csscolor.h Initial import 2020-06-15 07:18:57 -07:00
decodebase64.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
decodelatin1.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
encodebase64.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
encodehttpheadervalue.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
encodelatin1.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
encodeurl.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
escape.h Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapefragment.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapehost.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapehtml.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapeip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapejsstringliteral.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapeparam.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapepass.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapepath.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapesegment.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapeurl.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
escapeurlview.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
escapeuser.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
formathttpdatetime.c Make major improvements to redbean 2021-03-25 02:24:05 -07:00
gethttpheader.c Change license 2020-12-27 17:18:44 -08:00
gethttpheader.gperf Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
gethttpheader.inc Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
gethttpheadername.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
gethttpmethod.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
gethttpmethod.gperf Have redbean show zip listing as default / handler 2021-03-29 01:22:49 -07:00
gethttpmethod.inc Add fixes performance and static web server 2020-10-05 23:11:49 -07:00
gethttpreason.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
getipcategoryname.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
geturischeme.gperf Initial import 2020-06-15 07:18:57 -07:00
geturischeme.inc Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
hascontrolcodes.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
headerhassubstring.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
http.h Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
http.mk Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
indentlines.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
ip.h Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isacceptablehost.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
isacceptablepath.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isacceptableport.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
isafrinicip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isanonymousip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isapnicip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isarinip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isdodip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
islacnicip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isloopbackip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
ismimetype.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
ismulticastip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isprivateip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
ispublicip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isreasonablepath.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isripeip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
istestnetip.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
isvalidhttptoken.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
kescapeauthority.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
kescapefragment.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
kescapeip.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
kescapeparam.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
kescapepath.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
kescapesegment.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
khextoint.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
khttpmethod.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
khttprepeatable.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
khttptoken.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
parsecontentlength.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
parseforwarded.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
parsehttpdatetime.c Change license 2020-12-27 17:18:44 -08:00
parsehttprange.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
parsehttprequest.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
parseip.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
parseurl.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
underlong.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
url.h Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
visualizecontrolcodes.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00