On Mar 17, 12:10 pm, Mike Orr <[email protected]> wrote:
> On Wed, Mar 17, 2010 at 11:24 AM, Wyatt Baldwin
>
> <[email protected]> wrote:
> > On Mar 17, 10:27 am, Eric Lemoine <[email protected]> wrote:
> >> Hello
>
> >> From a controller can I get a reference to the app (i.e. what's
> >> returned by middleware.make_app)?
>
> > Right before `return app`, you could do `app_globals.app = app` (in
> > fact, I think the docs for 1.0 say to do `config.app = app` anyway).
>
> I think Pylons did that as a kludge because it needed access to the
> app.  (The config initialization was reorganized to make it friendlier
> to nested applications, and apparently that severed the direct link
> between the app and some part of Pylons.)  I'm not sure if I like
> setting ``config.app`` that way, but I'm not sure it's necessarily bad
> either. ``config`` is where I'd look for the app if I were trying to
> find it.
>
> > However... there's a potential issue here in that if you define
> > filters or a pipeline in your paste config, the app returned by
> > make_app will be wrapped with those other apps, so the one you saved
> > won't be the "root" app, which may or may not matter for your
> > scenario.
>
> > Having said that, it seems to me that there *must* be another way to
> > get at the "root" app, but I didn't dig very hard. I also ended up
> > rewriting the code I had that utilized `app`. I'm not sure, but it
> > might be a bad practice to use/need `app` in that way.
>
> Not sure about this.  Paste.composite is outside the realm of what the
> application code should be caring about?

I was thinking more of filters or a pipeline of filters, but that's a
good point. The thing is, it's not necessarily clear where middleware
should be defined... Or, maybe it is: it's probably best to put
*required* middleware in `make_app` and only optional middleware
should be defined in a config file. I think back when I was asking
about this same thing, I was getting that wrong--i.e., putting things
in a config file that really belong in `make_app`.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to