logo       

Re: [patch] filter_init implementation: msg#00073

Subject: Re: [patch] filter_init implementation

 > The question still stands. Do we want:
 >
 > sub init {}
 > sub filt : FilterRequestHandler FilterPreHandler(init)  {}
 >
 > or
 >
 > sub init : FilterPreHandler {}
 > sub filt : FilterRequestHandler FilterNeedsPreHandler(init) {}

the first seems to make the most sense to me - I don't see why we need to make the pre handler take an attribute only to create another attribute to run it.


Well, I agree with you. It's just that I don't feel very happy about linguistics. Currently attributes indentify the properties of the filters. FilterPreHandler(init) has nothing to do with the real filter, other than creating a dependency.

well, for some it can really be considered part of the filter itself, since the filter may not behave correctly without it :)

But I guess it's just a matter of getting used to it. However if you see what I mean, won't FilterRunsPreHandler(init) sound more like a property:

sub filt : FilterRequestHandler FilterRunsPreHandler(init) {}

So in English we can say that filter 'filt' is a request filter handler that runs prehandler 'init'.

Whereas FilterPreHandler can thought as being the prehandler.

See what I mean?

yeah. I guess I can see both sides and don't have any strong opinions either way. or maybe I'm starting to like what you just said more, making each an attribute. I like FilterRunsPreHandler better than NeedsPreHandler, in either case.


Also:

sub init : FilterPreHandler {}

makes it sure that that sub won't be used in any other way, than designed. But that could be redundant I suppose.

maybe that kind of protection is useful. I was thinking that other handlers may want to share the logic within the init handler, but as I think of it more it seems unlikely.


 > Anyways, I've changed a bit the expectations and the response handler
 > and voila, it works ;)
 >
 > the new version is attached.

ah, cool.  the output filter test worked too.

I'd say commit all this stuff - we certainly have enough to work with now, and we can build on it as we go.


Looking forward to see your conditional GET tests and may be other interesting apps.

yeah, as I work out the details of conditional GETs I'll add some tests. it will be a while, though - I still have some thinking to do.


very nice work, stas.


;)

I still have to complete the source parsing to support fully blown perl code as an argument to FilterPreHandler().

no rest for the weary :)

--Geoff


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
audio.irate.dev...    yellowdog.gener...    ietf.ips/2002-0...    xfree86.fonts/2...    busybox/2003-07...    emacs.jdee/2004...    linux.mandrake....    hardware.microc...    user-groups.lin...    science.analysi...    version-control...    db.filemaker.de...    cluster.openmos...    mail.eyebrowse....    text.xml.xerces...    kde.devel.kwrit...    finance.moneyda...    gcc.regression/...    network.routing...    os.freebsd.deve...    recreation.radi...    qnx.openqnx.dev...    python.xml/2002...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe