From 603c32b097817d433535091c1dac999614adfab2 Mon Sep 17 00:00:00 2001 From: Konstantin Haase Date: Tue, 25 Sep 2012 17:52:52 +0200 Subject: [PATCH] set vary header and cache documentation --- lib/travis/api/app/endpoint/documentation.rb | 3 ++- lib/travis/api/app/extensions/scoping.rb | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/travis/api/app/endpoint/documentation.rb b/lib/travis/api/app/endpoint/documentation.rb index 370612cc..f7feaaf6 100644 --- a/lib/travis/api/app/endpoint/documentation.rb +++ b/lib/travis/api/app/endpoint/documentation.rb @@ -4,7 +4,7 @@ class Travis::Api::App class Endpoint # Generated API documentation. class Documentation < Endpoint - set prefix: '/docs', public_folder: File.expand_path('../documentation', __FILE__) + set prefix: '/docs', public_folder: File.expand_path('../documentation', __FILE__), static_cache_control: :public enable :inline_templates, :static # Don't cache general docs in development @@ -12,6 +12,7 @@ class Travis::Api::App # HTML view for [/endpoints](#/endpoints/). get '/' do + cache_control :public content_type :html endpoints = Endpoints.endpoints erb :index, {}, endpoints: endpoints.keys.sort.map { |k| endpoints[k] } diff --git a/lib/travis/api/app/extensions/scoping.rb b/lib/travis/api/app/extensions/scoping.rb index 16d7e5d6..e4094d66 100644 --- a/lib/travis/api/app/extensions/scoping.rb +++ b/lib/travis/api/app/extensions/scoping.rb @@ -33,6 +33,9 @@ class Travis::Api::App headers['X-Accepted-OAuth-Scopes'] = name.to_s if scopes.include? name + headers['Vary'] = 'Accept' + headers['Vary'] << ', Authorization' if scope == :public + #cache_control :public, :must_revalidate if request.head? or request.get? true elsif logged_in? halt 403, "insufficient access"