From 117ce3f37277e95808dfec4d08078927a0bbb00e Mon Sep 17 00:00:00 2001 From: Olivier Lacan Date: Sun, 9 Oct 2016 02:39:32 +0200 Subject: [PATCH] Insert Letsencrypt::Middleware dynamically Since all we have to do is check for force_ssl I don't see why we can't just do that inside an initialize hook and change the way the middleware is inserted accordingly. Maybe I'm missing something obvious. This would reduce the amount of manual configuration required for this gem. --- lib/letsencrypt-rails-heroku/railtie.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/letsencrypt-rails-heroku/railtie.rb b/lib/letsencrypt-rails-heroku/railtie.rb index 636da62..11699ae 100644 --- a/lib/letsencrypt-rails-heroku/railtie.rb +++ b/lib/letsencrypt-rails-heroku/railtie.rb @@ -3,6 +3,14 @@ class LetsencryptRailsHerokuRailtie < Rails::Railtie Letsencrypt.configure end + initializer "letsencrypt_rails_heroku.configure_rails_initialization" do |app| + if app.config.force_ssl + app.middleware.insert_before ActionDispatch::SSL, Letsencrypt::Middleware + else + app.middleware.use Letsencrypt::Middleware + end + end + rake_tasks do load 'tasks/letsencrypt.rake' end