class Clarion::App
Constants
- CONTEXT_RACK_ENV_NAME
Public Class Methods
initialize_context(config)
click to toggle source
# File lib/clarion/app.rb, line 17 def self.initialize_context(config) { config: config, } end
rack(config={})
click to toggle source
# File lib/clarion/app.rb, line 23 def self.rack(config={}) klass = App context = initialize_context(config) lambda { |env| env[CONTEXT_RACK_ENV_NAME] = context klass.call(env) } end
Public Instance Methods
base_url()
click to toggle source
# File lib/clarion/app.rb, line 58 def base_url conf.app_id || request.base_url end
conf()
click to toggle source
# File lib/clarion/app.rb, line 54 def conf context[:config] end
context()
click to toggle source
# File lib/clarion/app.rb, line 50 def context request.env[CONTEXT_RACK_ENV_NAME] end
counter()
click to toggle source
# File lib/clarion/app.rb, line 70 def counter conf.counter end
data()
click to toggle source
# File lib/clarion/app.rb, line 41 def data begin @data = JSON.parse(request.body.tap(&:rewind).read, symbolize_names: true) rescue JSON::ParserError content_type :json halt 400, '{"error": "invalid_payload"}' end end
legacy_app_id()
click to toggle source
# File lib/clarion/app.rb, line 66 def legacy_app_id base_url end
render_authn_json(authn)
click to toggle source
# File lib/clarion/app.rb, line 78 def render_authn_json(authn) { authn: authn.as_json.merge( url: "#{base_url}/api/authn/#{authn.id}", html_url: "#{base_url}/authn/#{authn.id}", ) }.to_json end
rp_id()
click to toggle source
# File lib/clarion/app.rb, line 62 def rp_id conf.rp_id || request.host end
store()
click to toggle source
# File lib/clarion/app.rb, line 74 def store conf.store end