Jason Brazile <[EMAIL PROTECTED]> writes:

> I have one general comment. I don't know really know all of the
> API's that you are trying to unify, but one idea I'd like to suggest
> is the idea of possibly adding streaming interfaces.

Basically, the same API that WebSH unifies, although I want to attempt
to offload as much as possible in the Apache version of the backend.

For instance:

int
TclWeb_Base64Encode(char *out, char *in, TclWebRequest *req)
{
    out = ap_pbase64encode(TCLWEBPOOL, in);
    return TCL_OK;
}

Also a few things to get variables, cookie information, and so forth.

The goal would be to make this a library (and purely at the C level,
at that - no Tcl commands), so that it is useful beyond Rivet
(mod_tcl? some future version of websh?), and at the same time, a
defined API that can have different backends (IIS? AOLServer?
Roxen?).

> It might make it easier and/or more efficient to pipeline
> encoding/decoding procedures. I don't know the Tcl (memory) channel
> concept all that well, but perhaps this can be used as a possible
> representation of a streaming interface.

The channel stuff is pretty cool, and might be useful in some fashion
for the file upload system, but other things are probably small enough
that they are best left simple.  The only place I use base64, for
instance, is in decoding the USER_AUTH information (user/pass), which
is just a small string.

-- 
David N. Welton
   Consulting: http://www.dedasys.com/
Free Software: http://people.debian.org/~davidw/
   Apache Tcl: http://tcl.apache.org/
     Personal: http://www.efn.org/~davidw/

Reply via email to