1 class Site < Application
6 attr_accessor :config, :cache
9 @config = MerbRadiant::Config
10 @cache = ResponseCache.instance
14 response.headers.delete('Cache-Control')
23 if (request.get? || request.head?) and live? and (@cache.response_cached?(url))
24 @cache.update_response(url, response, request)
25 @performed_render = true
27 show_uncached_page(url)
34 found = Page.find_by_url(url, live?)
35 found if found and (found.published? or dev?)
38 def process_page(page)
39 page.process(request, response)
42 def show_uncached_page(url)
43 @page = find_page(url)
46 @cache.cache_response(url, response) if request.get? and live? and @page.cache?
47 @performed_render = true
49 render :template => 'site/not_found', :status => 404
51 rescue Page::MissingRootPageError
52 redirect_to welcome_url
56 if dev_host = @config['dev.host']
57 request.host == dev_host
59 request.host =~ /^dev\./