diff options
author | jessib <jessib@riseup.net> | 2013-12-30 13:32:43 -0800 |
---|---|---|
committer | jessib <jessib@riseup.net> | 2013-12-30 13:32:43 -0800 |
commit | c3fadeb8da6eb4400a3ceb2fecee83173eceeaf2 (patch) | |
tree | 88b550fbda71286266831910913e6789b89ef2ea /app/controllers/static_config_controller.rb | |
parent | 7d1a25c2477b9607475f6b4c56f94d392c46950a (diff) | |
parent | 62f31ab0358bc165c9a83806db1828365cb96572 (diff) |
Merge branch 'develop' into feature/messages_cron
Diffstat (limited to 'app/controllers/static_config_controller.rb')
-rw-r--r-- | app/controllers/static_config_controller.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/controllers/static_config_controller.rb b/app/controllers/static_config_controller.rb new file mode 100644 index 0000000..c669316 --- /dev/null +++ b/app/controllers/static_config_controller.rb @@ -0,0 +1,24 @@ +# +# This controller is responsible for returning some static config files, such as /provider.json +# +class StaticConfigController < ActionController::Base + + PROVIDER_JSON = File.join(Rails.root, 'config', 'provider', 'provider.json') + + # + # return the provider.json, ensuring that the header X-Minimum-Client-Version is sent + # regardless if a 200 or 304 (not modified) response is sent. + # + def provider + response.headers["X-Minimum-Client-Version"] = APP_CONFIG[:minimum_client_version].to_s + if File.exists?(PROVIDER_JSON) + if stale?(:last_modified => File.mtime(PROVIDER_JSON)) + response.content_type = 'application/json' + render :text => File.read(PROVIDER_JSON) + end + else + render :text => 'not found', :status => 404 + end + end + +end
\ No newline at end of file |