Re: [Web-SIG] Standardized configuration

2005-07-17 Thread Ian Bicking
Chris McDonough wrote: Because middleware can't be introspected (generally), this makes things like configuration schemas very hard to implement. It all needs to be late-bound. The pipeline itself isn't really late bound. For instance, if I was to create a WSGI middleware pipeline

Re: [Web-SIG] Standardized configuration

2005-07-17 Thread Ian Bicking
Phillip J. Eby wrote: At 01:57 PM 7/11/2005 -0500, Ian Bicking wrote: Lately I've been thinking about the role of Paste and WSGI and whatnot. Much of what makes a Paste component Pastey is configuration; otherwise the bits are just independent pieces of middleware, WSGI applications, etc.

Re: [Web-SIG] Standardized configuration

2005-07-17 Thread Graham Dumpleton
On 17/07/2005, at 6:16 PM, Ian Bicking wrote: The pipeline itself isn't really late bound. For instance, if I was to create a WSGI middleware pipeline something like this: server -- session -- identification -- authentication -- -- challenge -- application ... session,

Re: [Web-SIG] Standardized configuration

2005-07-17 Thread Chris McDonough
On Sun, 2005-07-17 at 03:16 -0500, Ian Bicking wrote: This is what Paste does in configuration, like: middleware.extend([ SessionMiddleware, IdentificationMiddleware, AuthenticationMiddleware, ChallengeMiddleware]) This kind of middleware takes a single argument, which is the

Re: [Web-SIG] Standardized configuration

2005-07-17 Thread Phillip J. Eby
At 07:29 AM 7/17/2005 -0400, Chris McDonough wrote: I'm a bit confused because one of the canonical examples of how WSGI middleware is useful seems to be the example of implementing a framework-agnostic sessioning service. And for that sessioning service to be useful, your application has to be

Re: [Web-SIG] Standardized configuration

2005-07-17 Thread Phillip J. Eby
At 03:28 AM 7/17/2005 -0500, Ian Bicking wrote: Phillip J. Eby wrote: What I think you actually need is a way to create WSGI application objects with a context object. The context object would have a method like get_service(name), and if it didn't find the service, it would ask its parent