#441: Put product request handlers in the right context
-------------------------+-------------------------------------------------
Reporter: olemis | Owner: olemis
Type: task | Status: accepted
Priority: critical | Milestone: Release 6
Component: | Version:
multiproduct | Keywords: product environment request handler
Resolution: | bep-0003
-------------------------+-------------------------------------------------
Comment (by jure):
Replying to [comment:10 olemis]:
> Replying to [comment:9 jure]:
> > Is there something missing in the patch queue for this ticket?
Applying only `t441_r1461631_product_module_pathinfo.diff` removes
`IRequestFilter` implementation from `ProductModule` causing all web
requests targeted to `/products...` to fail.
>
> Isn't this handled by environment factories ? I mean , do requests sent
to http://domain.tld/path/to/bh/env/products/... get intercepted by
factories and consequently dispatched by product environment's request
dispatcher ? If so then product module must not implement `IRequestFilter`
; else product module should be doing something ... depending on the
answer maybe factories are not even needed after all .
Environment factories intercept requests targeted at `/products...` and
instantiate product environments/requests appropriately. This happens in
`trac.web.main.dispatch_request`. Request processing from there on has not
been changed, effectively processing is taking place in product context
instead of global one...
> Do you think there is some value in simulating request processing from
`trac.web.main.dispatch_request` ?
If I understand this correctly you're suggesting that the logic from
`IRequestFilter` is moved to `trac.web.main.dispatch_request` ?
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/441#comment:11>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker