Class: GoodData::Bricks::AWSMiddleware

Inherits:
Middleware show all
Defined in:
lib/gooddata/bricks/middleware/aws_middleware.rb

Instance Attribute Summary

Attributes inherited from Middleware

#app

Instance Method Summary collapse

Methods inherited from Middleware

#initialize, #load_defaults

Methods included from Utils

#returning

Constructor Details

This class inherits a constructor from GoodData::Bricks::Middleware

Instance Method Details

#call(params) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/gooddata/bricks/middleware/aws_middleware.rb', line 13

def call(params)
  params = params.to_hash
  s3_config = get_s3_config(params)

  unless s3_config.empty?
    GoodData.logger.info('Setting up AWS-S3 connection')
    if params.key?('aws_client')
      params['s3_client'] = {}
    elsif params.key?('s3_client')
      params['input_source'] = {} unless params.key?('input_source')
      params['input_source']['bucket'] = params['s3_client']['bucket']
    end
    s3_config = rewrite_for_aws_sdk_v2(s3_config)
    symbolized_config = GoodData::Helpers.symbolize_keys(s3_config)
    params['s3_client']['client'] = Aws::S3::Resource.new(symbolized_config)
  end
  @app.call(params)
end