in lib/logstash/outputs/opensearch/http_client/manticore_adapter.rb [128:173]
def perform_request(url, method, path, params={}, body=nil)
params = (params || {}).merge(@client_params) { |key, oldval, newval|
(oldval.is_a?(Hash) && newval.is_a?(Hash)) ? oldval.merge(newval) : newval
}
params[:headers] = params[:headers].clone
params[:body] = body if body
if url.user
params[:auth] = {
:user => CGI.unescape(url.user),
:password => CGI.unescape(url.password),
:eager => true
}
elsif @type == BASIC_AUTH_TYPE
add_basic_auth_to_params(params)
end
request_uri = format_url(url, path)
if @type == AWS_IAM_AUTH_TYPE
sign_aws_request(request_uri, path, method, params)
end
request_uri_as_string = remove_double_escaping(request_uri.to_s)
resp = @manticore.send(method.downcase, request_uri_as_string, params)
resp.call
if resp.code < 200 || resp.code > 299 && resp.code != 404
raise ::LogStash::Outputs::OpenSearch::HttpClient::Pool::BadResponseCodeError.new(resp.code, request_uri, body, resp.body)
end
resp
end