Sha256: 2c8fc519dea0029a91ab85d4039a3a09ff9d7e2f0948f3316cf7470016cab88a

Contents?: true

Size: 1022 Bytes

Versions: 10

Compression:

Stored size: 1022 Bytes

Contents

module Aws
  module Plugins

    # @seahorse.client.option [Boolean] :raw_json (false)
    #   When `true`, request parameters are not validated or translated.
    #   Request parameter keys and values are expected to be formated as
    #   they are expected by the service.  Similarly, when `:raw_json`
    #   is enabled, response data is no longer translated.  Instead
    #   it is simply the result of a JSON parse.
    class JsonProtocol < Seahorse::Client::Plugin

      option(:raw_json, false)

      option(:validate_params) { |config| !config.raw_json }

      option(:convert_params) { |config| !config.raw_json }

      def add_handlers(handlers, config)
        if config.raw_json
          handlers.add(Seahorse::Client::Plugins::JsonSimple::Handler)
        else
          handlers.add(RequestHandler.new(Json::Serializer.new))
          handlers.add(ResponseHandler.new(Json::Parser.new))
        end
        handlers.add(ErrorHandler.new(Json::ErrorParser.new), step: :sign)
      end

    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
aws-sdk-core-2.0.0.rc10 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc9 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc8 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc7 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc6 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc5 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc4 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc3 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc2 lib/aws/plugins/json_protocol.rb
aws-sdk-core-2.0.0.rc1 lib/aws/plugins/json_protocol.rb