[http] Formal Review
1. Should Boost.Http be accepted into Boost? Please state all conditions for acceptance explicity.
No. This library unfortunately is not complete enough to be in Boost.
2. What is your evaluation of the design?
From my reading, the design of the low level components that are in the library seems okay.
3. What is your evaluation of the implementation?
Looks okay from what I've seen.
4. What is your evaluation of the documentation?
More tutorials for common use cases are needed. I fear, though, that the only use case of these low-level components is the writing of a higher-level one on top of it that is more widely useful.
5. What is your evaluation of the potential usefulness of the library?
6. Did you try to use the library? With what compiler? Did you have any
In its current state, I do not find this library very useful. A Boost HTTP library should support both client side and server side. Micro-services are quite commonly used these days and only communicating one direction excludes this library from having full participation. While I very much enjoy and appreciate the exposed lower-level functionality, higher level abstractions are required to scratch the itch most developers have when they want a C++ HTTP library. I could not recommend this library over pion for this reason even though I like this library's design better. In particular, we need really good stories for: a) How to fetch the contents of a website given a URL. b) How to make a static page server. c) How to write code that handles a POST or GET request dynamically based on specified parameters. d) How to write a server that accepts file uploads. e) HTTP/2.0 f) Websockets I would also like to see instances of this library being used in production. That would give some evidence that the design works in practice. There is the argument that we should accept this into Boost now because, once it has more features, it'll be really great. I think that Boost is for libraries that are already really great. I don't see how getting more exposure to an incomplete library helps either Boost or the library, but I do see how it can do damage to the Boost name. problems? I built the library and ran the single example. I used gcc 5.2.0. I didn't run into any problems and was quite happy with this part of the review.
7. How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I spent a couple hours reading through the documentation and the mailing list discussions.
8. Are you knowledgeable about the problem domain?
Yes. I'm the architect of a large C++-based web framework for the US Government. We currently use pion as our primary server and client low-level library. I've contributed some minor patches to pion. -- David Sankel
participants (1)
-
David Sankel