From: Glyn M. <gly...@gm...> - 2009-11-15 19:52:36
|
Hi, I've updated integration_0_4 and made an attempt to improve the unit tests therein. The basic_message and basic_uri templates now are tested using std::wstring as a parameter, and this seems to work. I have made some observations that I'd like to discuss with the list. 1. boost::network::uri::uri and boost::network::uri::http::uri have a redundant namespace. I understand that the directives maybe shouldn't be in boost::network, but a different named namespace might be better so that we could have boost::network::uri and boost::network::http::uri. 2. I had to do some workarounds with the wrappers and directives to add support for std::wstring. 3. I need clarification as to why there should be tags to identify different protocols. I understand the need to specialize templates for strings and header_containers but I can't see why we have, e.g. boost::network::http::message_tags to specialize boost::network::http::basic_message as we do now. this means we have to provide traits for struct string<http::message_tags> as well as string<tags::default_> which are in fact going to be identical. 4. I don't like the name, tags::default_. I added tags::default_string and tags::default_wstring, and, while they're more descriptive, I think they can be improved. 5. Internally, we sometimes use namespace impl and sometimes namespace detail. We should be more consistent and choose one. 6. The implementation of http::message and http::message uses std::string Please try and run the tests and let me know if there are any other issues. Dean and John, perhaps you could be able to see if the updates work with what you're both trying to do. Glyn |