Regarding the "enhanced parameter support" idea mentioned in my previous mail, what I have in mind is to provide a list of all expected parameters as a struct in the CGI and pass it to apreq immediately after initialization (after, so there's no API incompatibility issues). The struct would contain the parameter names (and possibly type body/arg/cookie) as well as some additional metadata fields. Currently we're thinking of starting with 2 called "description" and "default". Some use-cases for these extra bits of information would be:
* For interactive mode, replace the current prompts and allow for default value to be set * For non-interactive mode, allow 3rd party server-side software (think CGI.pm) to read this metadata and automatically prepare an HTML form suitable for use with the CGI. (apreq obviously wouldn't be making these widgets - just providing metadata). * If we add metadata classes that can specify expected content type, we can even provide some sort of rudimentary input validation; combined with the CGI.pm idea above, this might be a big step toward unified server/client validation routines, since both server and client side validation routines can be automated based on this metadata. Thoughts? Issac
