Boost logo

Boost :

Subject: Re: [boost] [http] Formal review of Boost.Http
From: Tom Kent (lists_at_[hidden])
Date: 2015-08-14 18:42:02

On Fri, Aug 7, 2015 at 2:08 AM, Bjorn Reese <breese_at_[hidden]>

> Dear Boost and ASIO communities.
> The formal review of Vinícius dos Santos Oliveira's Boost.Http library
> starts today, August 7th and ends on Sunday August 16th.
> Please answer the following questions:
> 1. Should Boost.Http be accepted into Boost? Please state all
> conditions for acceptance explicity.

My recommendation is no. It does not seem like it is in a 'finished' enough
state to be accepted.

> 2. What is your evaluation of the design?
> 3. What is your evaluation of the implementation?
> I don't feel qualified to comment on most of it. However, I think one
seriously lacking feature is a set of convenience functions that could
replace most of the boilerplate that is in the tutorial.

I like the travis & appveyor badges on the github landing page.

I think that at a minimum some of the 'roadmap' items need to be pulled in
before approval. Specifically:
* Bjam (keep CMake for those who want it)
* C++03/98
* Header only and compiled library

Some more that seem important, but I'm not sure:
* Cookies - this seems like a pretty basic server functionality. Is this a
hard thing to add?
* Forms/File Uploads - Does this imply that it doesn't support POST? I feel
like the initial implementation should at least support GET & POST.

> 4. What is your evaluation of the documentation?

I think the documentation needs serious work. The only example is very long
and drawn out. The first example should be something a user can get running
in a few lines of code, not a full page. There should also be more examples
of how to integrate the http service with getting files from the file
system, generating responses CGI-style, supporting TLS (is this a feature?
If not this would be a show-stopper), etc.

The documentation seems like it is missing a chunk between the
tutorials/examples and the reference section where it enumerates the
various options and settings that can be used to configure the library.

> 5. What is your evaluation of the potential usefulness of the library?

I think this is one of the *most* potentially useful libraries boost has
reviewed in recent memory. That is why it is much more important that it be
in a solid state right off the bat. I think that if this is released, we
will immediately get a good amount of user interest. If they were to try
using it like this, I expect they would be disappointed and possibly not
try again in a few versions when it was fixed up.

> 6. Did you try to use the library? With what compiler? Did you have
> any problems?


> 7. How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?

I spent a couple hours reading the documentation and browsing the source

> 8. Are you knowledgeable about the problem domain?

Not particularly.

Tom Kent

Boost list run by bdawes at, gregod at, cpdaniel at, john at