class RedirectionConfig::Index < Lucky::Action include Lucky::ProtectFromForgery include Lucky::EnforceUnderscoredRoute include Lucky::SecureHeaders::DisableFLoC default_format :json get "/redirection_config" do data( data: config_json, content_type: "application/json", disposition: "attachment", filename: "redirector-config.json" ) end private def config_json double_escaped_pattern = "^https?://(?:.*\\\\.)*(? Scribe", "exampleUrl": "https://medium.com/@user/post-123456abcdef", "exampleResult": "https://#{app_domain}/@user/post-123456abcdef", "error": null, "includePattern": "#{double_escaped_pattern}", "excludePattern": "", "patternDesc": "", "redirectUrl": "https://#{app_domain}$2", "patternType": "R", "processMatches": "noProcessing", "disabled": false, "grouped": false, "appliesTo": [ "main_frame", "sub_frame", "xmlhttprequest", "history", "other" ] } ] } JSON end private def app_domain URI.parse(Home::Index.url).normalize .to_s .sub(/\/$/, "") .sub(/^https?:\/\//, "") end end