Proposal for enhanced metadata in (proposed) cgi-enhanced module

Issac Goldstand <[email protected]>
Newsgroups gmane.comp.apache.apreq
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.