class GoodData::Bricks::GoodDataMiddleware
Constants
- DEFAULT_HOSTNAME
- DEFAULT_PROTOCOL
Public Instance Methods
call(params)
click to toggle source
# File lib/gooddata/bricks/middleware/gooddata_middleware.rb, line 15 def call(params) # Convert possible jruby hash to plain hash params = params.to_hash # Transform keys params = GoodData::Helpers.deep_stringify_keys(params) # Set logger logger = params['GDC_LOGGER'] GoodData.logger = logger server = "#{params['CLIENT_GDC_PROTOCOL'] || DEFAULT_PROTOCOL}://#{params['CLIENT_GDC_HOSTNAME'] || DEFAULT_HOSTNAME}" opts = { server: server, verify_ssl: params['GDC_VERIFY_SSL'].to_b, username: params['GDC_USERNAME'], password: params['GDC_PASSWORD'], sst_token: params['GDC_SST'] } # Connect Client client = GoodData.connect(opts) opts = params['development_client'] development_client = if opts GoodData.connect(GoodData::Helpers.deep_symbolize_keys(opts)) else client end new_params = { 'GDC_GD_CLIENT' => client, 'development_client' => development_client } if params['GDC_PROJECT_ID'] new_params['gdc_project'] = GoodData.project = client.projects(params['GDC_PROJECT_ID']) end returning_value = @app.call(params.merge(new_params)) begin client.disconnect rescue puts 'Tried to disconnect. Was unsuccessful. Proceeding anyway.' end returning_value end