
Michael Dickey wrote:
On Dec 10, 2007, at 6:39 AM, Phil Endecott wrote:
Far from merging your library into something else, I encourage you to see how much you can break it up into smaller chunks and to make it compatible with, yet not dependent on, other libraries.
It's definitely moving in that direction. For example, you can use the client-side part of the library without touching any server-side stuff, and you can even parse HTTP messages without any networking code. I agree with the approach of breaking pieces out and pushing them into a lower-level space like cpp-netlib over time.
I guess a big question is, does _server-side_ functionality belong in Boost? I think for most cases, you're going to use an external packaged server to solve a problem.
I might have agreed with you a few years ago but recently I've come to the conclusion that it's better to just implement an HTTP server. In the past I have written CGI programs, which have the problem of starting one process per request, and Apache modules, where I have used Boost.Interprocess to store inter-request data. Just writing an HTTP server is simpler and better, and you can get Apache features (compression, encryption, authentication, etc. etc.) by using its mod_proxy to forward requests to your separate server. Phil.