def request(params)
refresh_credentials_if_expired
idempotent = params.delete(:idempotent)
parser = params.delete(:parser)
expects = params.delete(:expects) || 200
path = @path + params.delete(:path)
method = params.delete(:method) || 'GET'
request_body = Fog::JSON.encode(params)
body, headers = Fog::AWS.signed_params_v4(
params,
{
'Content-Type' => "application/x-amz-json-1.0",
},
{
:host => @host,
:path => path,
:port => @port,
:version => @version,
:signer => @signer,
:aws_session_token => @aws_session_token,
:method => method,
:body => request_body
}
)
if @instrumentor
@instrumentor.instrument("#{@instrumentor_name}.request", params) do
_request(body, headers, idempotent, parser, method, path, expects)
end
else
_request(body, headers, idempotent, parser, method, path, expects)
end
end