Return-Path: Mailing-List: contact general-help@tcl.apache.org; run by ezmlm Delivered-To: mailing list general@tcl.apache.org Received: (qmail 85227 invoked from network); 21 Jan 2002 13:41:10 -0000 Received: from ppp-242-5.25-151.libero.it (HELO ashland) (151.25.5.242) by daedalus.apache.org with SMTP; 21 Jan 2002 13:41:10 -0000 Received: by ashland (Postfix, from userid 1000) id 1D3704C0A8; Mon, 21 Jan 2002 14:42:47 +0100 (CET) To: Jason Brazile Cc: general@tcl.apache.org, rivet-dev@tcl.apache.org Subject: Re: time for a common library? References: <200201201322.OAA27772@disco.netcetera.ch> From: davidw@dedasys.com (David N. Welton) Date: 21 Jan 2002 14:42:47 +0100 Message-ID: <877kqbrfag.fsf@dedasys.com> Lines: 43 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Jason Brazile 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/