You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Doug MacEachern <do...@opengroup.org> on 1997/06/12 15:25:18 UTC
Re: Thoughts on a 2.0 API (fwd)
Dean Gaudet <dg...@arctic.org> wrote:
> [Brian's original message is probably in the other Brian's box waiting
> approval...]
>
> This can probably happen for free if we pursue our ideas of stackable i/o
> filters (for mod_include, chunking, compressing, encrypting). I wouldn't
> go quite as far as to say we should embed apache in perl though ;)
All us Perl whackers would need is a libapache. We already have an
interface to most of the module API and stuctures (request_rec,
conn_rec, server_rec), it's just useless outside of httpd without a
library to link against. But no, I'm not actually asking for a
libapache (yet :-).
-Doug
> Dean
>
> On Wed, 11 Jun 1997, Brian Slesinsky wrote:
>
> >
> > As a true Perl weenie, I was thinking if you put an XS wrapper around each
> > Apache module and the main loop, you could embed Apache in Perl rather
> > than the other way around.
> >
> > The configuration file might look like this:
> >
> > #!/usr/local/bin/perl -wT
> > use Apache::Server;
> > use Apache::mod::mime;
> > use Apache::mod::access;
> > use Apache::mod::auth;
> > # [...]
> > Apache::Server->new->run;
> >
> > That way I could call Apache::mod::include from any Perl script.
> >
> > The overhead would depend on how fast one XS module can call another
> > using Perl's calling conventions.
> >
> > Just a thought :-)
> >
> > _____________________________________________________________________
> > Brian Slesinsky This is my default tagline.
> >
> > On Wed, 11 Jun 1997, Dean Gaudet wrote:
> >
> > > perl weenies might appreciate this.
> > >
> > > Dean
> > >
> > > ---------- Forwarded message ----------
> > > Date: Tue, 10 Jun 1997 22:14:01 -0400
> > > From: Doug MacEachern <do...@opengroup.org>
> > > Reply-To: new-httpd@apache.org
> > > To: new-httpd@apache.org
> > > Subject: Re: Thoughts on a 2.0 API
> > >
> > > > it after the response (say, during the logging phase), it won't do what is
> > > > expected. But they can choose whether A happens first, or B. And vary it
> > > > according to host/port/URL.
> > > >
> > > > In my system, there are still phases, but they are more fluid - determined
> > > > by the configuration. This would mean that a straight URL->file mapping, for
> > > > example, would do almost nothing, and run _really_ fast.
> > > >
> > > > <Host fast.somewhere.com>
> > > > <URL /(.*):path:>
> > > > File /usr/local/wwwdocs/$path
> > > > </URL>
> > > > </Host>
> > >
> > > I might be jumping in without fully understanding the discussion (or
> > > the syntax), but this is already quite simple with Perl:
> > >
> > > #httpd.conf
> > > <Perl>
> > > #push a handler to step in at the translate stage
> > > push @PerlTransHandler, sub {
> > > my $r = shift;
> > > my $host = $r->get_remote_host;
> > >
> > > if($host =~ /^fast.somewhere.com$/) {
> > > if($r->uri =~ /(.*)/) {
> > > $r->filename("/usr/local/wwwdocs/$1");
> > > return OK;
> > > }
> > > }
> > > return DECLINED;
> > > };
> > > </Perl>
> > >
> > > Of course, this doesn't need to be in the config file, the subroutine
> > > can be defined in a file, config would just be something like:
> > >
> > > PerlTransHandler My::translate
> > >
> > > -Doug
> > >
> > > > Cheers,
> > > >
> > > > Ben.
> > > >
> > > > --
> > > > Ben Laurie Phone: +44 (181) 994 6435 Email: ben@algroup.co.uk
> > > > Freelance Consultant and Fax: +44 (181) 994 6472
> > > > Technical Director URL: http://www.algroup.co.uk/Apache-SSL
> > > > A.L. Digital Ltd, Apache Group member (http://www.apache.org)
> > > > London, England. Apache-SSL author
> > > >
> > >
> >
> >
> >
>