Sha256: bd78899034b56d5ef860e166c3692497181b817b7c4cb1d9d12b84f218e30c91

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

# encoding: UTF-8

require 'gooddata'

require_relative 'base_middleware'

module GoodData::Bricks
  class GoodDataMiddleware < GoodData::Bricks::Middleware
    def call(params)
      logger = params['GDC_LOGGER']
      token_name = 'GDC_SST'
      protocol_name = 'GDC_PROTOCOL'
      server_name = 'GDC_HOSTNAME'
      project_id = params['GDC_PROJECT_ID']

      fail 'SST (SuperSecureToken) not present in params' if params[token_name].nil?
      server = if !params[protocol_name].empty? && !params[server_name].empty?
                 "#{params[protocol_name]}://#{params[server_name]}"
               end

      fail 'GoodData username is missing. Expected param :GDC_USERNAME' if params['GDC_USERNAME'].nil?
      fail 'GoodData password is missing. Expected param :GDC_PASSWORD' if params['GDC_PASSWORD'].nil?

      GoodData.connect(params['GDC_USERNAME'], params['GDC_PASSWORD'], {:server => server})
      GoodData.logger = logger
      GoodData.with_project(project_id) do |p|
        @app.call(params)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gooddata-0.6.0 lib/gooddata/bricks/middleware/gooddata_middleware.rb