|
Boost : |
From: Cory Nelson (phrosty_at_[hidden])
Date: 2007-04-05 17:26:45
On 4/5/07, Darren Garvey <lists.drrngrvy_at_[hidden]> wrote:
> [cc'ed from boost-users list]
>
> Hello all,
>
> This may seem off-topic, but I assure you it isn't. ;)
>
> This is an initial probe for ideas about an API for [any] upcoming CGI
> library submission. Of particular interest:
> *should GET/POST variables be parsed by default? (not _strictly_ API, but
> relevant)
Perhaps parsing them on first use might give a perf boost, but I don't
think it would make much difference.
> *how should GET/POST variables be accessed? Like CGI.pm (perl) or python's
> cgi module?
I havn't used perl or python, but I think if you have a class
cgi_context, it should have get and post members. There is no limit
to post size (iirc) though, so a way to stream it might be useful to
keep memory usage down.
> *should cookie variables be accessible just like GET/POST vars, or
> separately? Should they be lumped together by default with more direct
> access when needed? Would it be confusing to allow user code to determine
> behaviour?
I think being able to access them like above for get vars would be a plus.
> *should the CGI environment variables each have explicit functions for their
> access, or should (eg.) a generic cgi::get_env() function be used?
Don't really have an opinion here.
> *url decoding functions are needed for GET/POST variables. Should url
> encoding functions also be provided?
Yes. Though not strictly CGI, I think a htmlencode/htmldecode might
be useful utility functions to include too.
> *how transparent should user code be to internationalization/different
> character sets?
You aren't always outputting text in CGI, so I don't think it should
be transparent. A way to access it as a text stream, perhaps with a
way to specify encoding, would be nice though.
> The reason I'm asking such an open-ended question is that I'm assuming lots
> of people here will have experience using CGI libraries (possibly in other
> languages, possibly your own) and may have specific ideas about what should
> or shouldn't move from them into a Boost.CGI library, if one were accepted.
I think a CGI library should also include transparent FastCGI support.
Something I would also like to see is async support, with an API
similar to asio.
> Whether or not you see the point of a C++ CGI library, your comments on APIs
> provided by other languages would still be very much appreciated.
>
> Cheers,
> Darren
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
-- Cory Nelson http://www.int64.org
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk