|
Boost : |
Subject: Re: [boost] [ann] Urdl - a library for downloading web content
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2009-06-17 04:32:35
Hi Chris,
Christopher Kohlhoff skrev:
> Hi all,
>
> I have just released a new Boost.Asio-based library, Urdl, which can be
> used for accessing and downloading web content.
>
> <http://think-async.com/Urdl>
> <http://sourceforge.net/projects/urdl>
>
> It currently has limited support for the protocols "http", "https" and
> "file". It provides an easy-to-use extension to standard C++ iostreams
> and an asynchronous interface for use with Boost.Asio.
Looks really nice.
1.
------
May I suggest that you add a bunch of constants instead of
using strings. You currently have
// We're doing an HTTP POST ...
is.set_option(urdl::http::request_method("POST"));
// ... where the MIME type indicates plain text ...
is.set_option(urdl::http::request_content_type("text/plain"));
I don't like the hard-coding of "POST" and "text/plain". Also for
type-safety reasons, strings are usually irritating. Maybe it would
be possible to use enumeration values instead:
// We're doing an HTTP POST ...
is.set_option(urdl::http::request_method::post);
// ... where the MIME type indicates plain text ...
is.set_option(urdl::http::request_content_type::text_plain));
2.
--------
The Url class has operators like ==, != and <. May I suggets you hass
hash_value( const url& ) too.
3.
------
I'm not a fan of short names. Especially
http::errc::errc_t
would be clearer IMO as
http::error_codes::error_code
or something like that.
-Thorsten
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk