class AWS::Core::QueryClient

def self.request_builder_for api_config, operation

def self.request_builder_for api_config, operation
  QueryRequestBuilder.new(api_config[:api_version], operation)
end

def self.response_parser_for api_config, operation

def self.response_parser_for api_config, operation
  QueryResponseParser.new(operation[:outputs])
end

def extract_error_details response

def extract_error_details response
  if
    response.http_response.status >= 300 and
    body = response.http_response.body and
    error = errors_module::GRAMMAR.parse(body) and
    error[:code]
  then
    [error[:code], error[:message]]
  end
end