From: Emre T. <emr...@gm...> - 2011-02-24 11:39:22
|
Hi Dean, We can provide various methods to register callback, actually maybe all of them. Using boost::function (with or without a system::error argument) + a class with log() function + two different handlers for data & error. But, to provide this flexibility we will need to have a "virtual" overhead somewhere deep in the implementation. I'll give it a try for this, after that we can think about it further. Take care, emre On Feb 24, 2011, at 10:02 AM, Dean Michael Berris wrote: > On Thu, Feb 24, 2011 at 3:55 PM, Emre Türkay <emr...@gm...> wrote: >> Hi Dean, >> >> On Feb 24, 2011, at 7:01 AM, Dean Michael Berris wrote: >> >>> Hi Emre, >>> >>> On Wed, Feb 23, 2011 at 6:22 AM, Emre Türkay <emr...@gm...> wrote: >>>> Hi folks, >>>> >>>> In file boost/network/protocol/http/server/sync_connection.http (in sync_connection::start), line 57, there is a call to Handler::log(string). >>>> 1. This conflicts with the documentation, where there is no hello_world::log() method implemented in the simple http server example. >>>> 2. Do we really need to keep it that way, i.e., we can make boost::system::system_error an extra argument to the handler function (like asio handlers). By this way, it would even be possible to implement a handler with a free standing function and pass the http::server a ptr to function instead of a functor, for simple cases. >>>> >>>> What you think? >>>> >>> >>> I like #2 -- do you have a pull request? :) >> >> No, I wanted to ask before diving in. I'm still reading the docs ;) I'll try if I can make it. >> > > Cool, no worries. :) > > I suggest looking at the cases where the log function is called -- I > think calling the handler with an extra error argument is a little > confusing. I like the approach of providing an error handling function > to the constructor of the HTTP server, and if one isn't provided a > default error handler is provided that optionally prints information > to standard error. There was a suggestion to use Boost.Log but I don't > see how this could be done with Boost.Log not yet being in the > releases (last I checked). > > This should be easy to do and I would really appreciate it if you can > give that a shot -- as I have very limited time at the moment to be > able to work on the library. > > Have a good one and I look forward to your pull requests! > > -- > Dean Michael Berris > about.me/deanberris |