Hehe, you wouldn’t be the first person to prefer their own code!
I did take a look at the code. The regex parser looked great - that would certainly be useful as a standalone library if you felt inclined to break that out into a separate lib!
The http parser contains a list of all (dozens!) the possible HTTP methods that are handled, so I’m inferring from that you want the http portion to be a general purpose library? Just a fyi in case you’re not aware, at present the code for the webserver is intermixed with your application handler code, which will prevent separating the http part from the application. Of course that’s no biggie, that’s just about refactoring code and putting the webserver part behind an appropriate interface so it’s reusable (as we have in webduino.)
Other than that, I didn’t see how it’s significantly different from webduino. They both build around a TCPServer that handles multiple types of requests and provide error handling. If I’ve missed something please let me know!
Finally, if I may offer some advice: you’ll hit a memory wall with the current design of the http server where the different request types provided by the client are instances of a class derived from HttpRequest, which includes two 128 byte buffers, so each request type requires 256 bytes of ram. It would be more scaleable if you used the same user-allocated buffer for all requests (as webduino does.) Requests are handled sequentially, so there is never a need for more than one buffer. You might simply be able to make the buffers static.