Awesome. These seems to have fixed it:

  extension_config do |config|
    if config.middleware.include? Radiant::Cache
      config.middleware.insert_before(Radiant::Cache, GeoIpRedirect)
    else
      config.middleware.use GeoIpRedirect
    end
  end

I'll reply back if my Qa team finds out it doesn't. :)


On Oct 22, 6:57 am, Jim Gay <j...@saturnflyer.com> wrote:
> On Fri, Oct 22, 2010 at 9:18 AM, Josh French <j...@digitalpulp.com> wrote:
> > So do you think it's possible to add the logic to a middleware object and
> > add the middleware object to the stack?
>
> > Actually... wouldn't that work as long as it was inserted before
> > Rack::Cache? Can someone more familiar with the caching layer confirm/deny?
>
> Yes. As long as it's injected before the cache, you're golden.
>
>
>
>
>
> > On Oct 21, 2010, at 10:38 PM, Stan Rawrysz wrote:
>
> > So do you think it's possible to add the logic to a middleware object and
> > add the middleware object to the stack?
> > Put something like the following in the extension?
> >   extension_config do |config|
> >     config.middleware.use GeoIpRedirect
> >   end
> > I'm pretty new to middleware, so I'm not certain that this will get called
> > every time...
> > Stan
>
> > On Thu, Oct 21, 2010 at 4:25 PM, swartz <netv...@gmail.com> wrote:
>
> >> As far as I understand if there is a cached page already available the
> >> radian sitecontroller doesn't even get executed. The server spits out
> >> the generated page.
>
> >> If you wish to have code executed everytime for every page access, you
> >> pretty much have to disable caching.
> >> If it's only afew specific pages that require this, you want to
> >> declare your own page type and define the following:
>
> >> def cache?
> >>  false
> >> end
>
> >> On Oct 21, 2:53 pm, Stan Rawrysz <smoo...@gmail.com> wrote:
> >> > I've written an extension that needs to do some processing on every
> >> > call to a page in the cms. Basically, it checks for a cookie and
> >> > redirects the user if a certain value is present. I'm running into a
> >> > problem where that piece of code is not being called after the first
> >> > call to the app. I believe it's because of caching...
>
> >> > When i set cache_timeout to small, it works:
> >> >    SiteController.cache_timeout = 1.second
>
> >> > The extension is a SiteController extension:
>
> >> >   def activate
> >> >     Page.class_eval {
> >> >       SiteController.send :include,
> >> > IpRedirect::SiteControllerExt
> >> >     }
> >> >   end
>
> >> > The controller:
>
> >> >   module SiteControllerExt
>
> >> >     def self.included(base)
> >> >       base.class_eval do
> >> >         base.send(:include, InstanceMethods)
> >> >         before_filter :lookup_preferred_language_and_redirect
> >> >     end
>
> >> >     module InstanceMethods
> >> >       def lookup_preferred_language_and_redirect
> >> >           ....
> >> >       end
>
> >> > Is it possible that the before_filter is not called when caching is
> >> > turned on? Is there a way to make sure
> >> > that :lookup_preferred_language_and_redirect is called regardless of
> >> > caching?
>
> >> > I'm on 0.8.2 for this one.
>
> >> > Thanks in advance!
> >> > Stan
>
> --
> Jim Gay
> Saturn Flyer LLChttp://www.saturnflyer.com
> 571-403-0338

Reply via email to