Vin?cius dos Santos Oliveira:
I recently submitted an HTTP server library to Boost Incubator and I'd appreciate feedback: http://rrsd.com/blincubator.com/bi_library/http/?gform_post_id=1460 http://rrsd.com/blincubator.com/bi_library/http/?gform_post_id=1460
I intend to submit to Boost later.
This is the library that I developed during GSoC 2014 and I made several improvements (new features, bug fixes, better and extended documentation...) after the end of GSoC. There are a few improvements that I still want to do, but none of them would be a barrier for Boost integration, in my opinion.
This library doesn't have a builtin request router, opposed to several libraries out there, then you can use whatever routing style you wish (tree-based, middleware-based, no router...).
Also, it follows Boost active style, then you can build your own scheduler around it (prioritize requests from certain IPs, defer acceptance of new connections during server high load, reuse prior constructed objects...).
The library follows Asio threading model, then you also choose whether you will handle all requests from the same thread (useful for embedded devices) or multiples ones. The library is fully async, then one thread is not a problem.
It has a powerful and flexible file server API, supporting range-based requests, conditional requests, support for ETags and so on.
After the GSoC, I had the chance to add tests for asynchronous abstractions and now the implementation is much more trustable and stable. The choice to reuse an existing HTTP parser (the Node.js's C parser) also helps a lot.
The simple message-based API helps to support HTTP pipelining, allocation fine tuning and much more. Besides HTTP pipelining, HTTP chunking (and other modern features like 100-continue and HTTP Upgrade) are also supported.
Do you have any users? If you don't have users, I suggest you become the first user by developing an application. -- Brian Ebenezer Enterprises - In G-d we trust. http://webEbenezer.net
2015-04-19 16:49 GMT-03:00 Brian Wood
Do you have any users?
Not that I know of. If you don't have users, I suggest
you become the first user by developing an application.
Thanks for the hint Brian. I'll create some applications. This approach may inspire people to trust more on the project. -- Vinícius dos Santos Oliveira https://about.me/vinipsmaker
On 04/19/2015 09:49 PM, Brian Wood wrote:
Do you have any users? If you don't have users, I suggest you become the first user by developing an application.
I am using Boost.Http in an embedded application, albeit work on the integration has been slow due to company priorities. The flexibility of Boost.Http is great. For instance, for some HTTP requests I need to interact with other asynchronous components before I can respond, and this is handled elegantly with coroutines.
Bjorn Reese wrote
I am using Boost.Http in an embedded application, albeit work on the integration has been slow due to company priorities.
The flexibility of Boost.Http is great. For instance, for some HTTP requests I need to interact with other asynchronous components before I can respond, and this is handled elegantly with coroutines.
How about adding this comment to the incubator page for http. I'm sure that other prospective users would find it very helpful. Robert Ramey -- View this message in context: http://boost.2283326.n4.nabble.com/Feedback-on-Boost-Http-tp4674577p4674624.... Sent from the Boost - Dev mailing list archive at Nabble.com.
participants (4)
-
Bjorn Reese
-
Brian Wood
-
Robert Ramey
-
Vinícius dos Santos Oliveira