class IDRAC::Session

def request_with_basic_auth(method, url, body = nil, content_type = 'application/json')

def request_with_basic_auth(method, url, body = nil, content_type = 'application/json')
  debug "Basic Auth request: #{method.to_s.upcase} #{url}", 1
  debug "Request body size: #{body.to_s.size} bytes", 2 if body
  
  connection.send(method, url) do |req|
    req.headers.merge!(basic_auth_headers(content_type))
    req.body = body if body
    debug "Request headers: #{req.headers.reject { |k,v| k =~ /auth/i }.to_json}", 2
  end
rescue Faraday::SSLError => e
  debug "SSL Error in Basic Auth request: #{e.message}", 1, :red
  debug "OpenSSL version: #{OpenSSL::OPENSSL_VERSION}", 1
  debug e.backtrace.join("\n"), 3 if e.backtrace && @verbosity >= 3
  raise e
rescue => e
  debug "Error during #{method} request with Basic Auth: #{e.class.name}: #{e.message}", 1, :red
  debug e.backtrace.join("\n"), 2 if e.backtrace && @verbosity >= 2
  raise e
end