Sha256: e12ca74f4cfd963d8c6a52f4f595b0d8687730f447c3334161fed8040a432f3c

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 KB

Contents

# encoding: UTF-8
#
# Copyright (c) 2010-2015 GoodData Corporation. All rights reserved.
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

require 'aws-sdk'
require_relative 'base_middleware'

module GoodData
  module Bricks
    class AWSMiddleware < Bricks::Middleware
      def call(params)
        params = params.to_hash
        if params.key?('aws_client')
          puts 'Setting up AWS-S3 connection'
          fail "Unable to connect to AWS. Parameter \"aws_client\" seems to be empty" unless params['aws_client']
          fail "Unable to connect to AWS. Parameter \"access_key_id\" is missing" if params['aws_client']['access_key_id'].blank?
          fail "Unable to connect to AWS. Parameter \"secret_access_key\" is missing" if params['aws_client']['secret_access_key'].blank?
          s3 = AWS::S3.new(params['aws_client'])
          params['aws_client']['s3_client'] = s3
          @app.call(params)
        else
          @app.call(params)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
gooddata-0.6.27 lib/gooddata/bricks/middleware/aws_middleware.rb
gooddata-0.6.26 lib/gooddata/bricks/middleware/aws_middleware.rb
gooddata-0.6.25 lib/gooddata/bricks/middleware/aws_middleware.rb
gooddata-0.6.24 lib/gooddata/bricks/middleware/aws_middleware.rb
gooddata-0.6.23 lib/gooddata/bricks/middleware/aws_middleware.rb
gooddata-0.6.22 lib/gooddata/bricks/middleware/aws_middleware.rb