class IDRAC::Session
def delete_all_sessions_with_basic_auth
def delete_all_sessions_with_basic_auth puts "Attempting to delete all sessions using Basic Authentication...".light_cyan # First, get the list of sessions sessions_url = '/redfish/v1/SessionService/Sessions' begin # Get the list of sessions response = request_with_basic_auth(:get, sessions_url) if response.status != 200 puts "Failed to get sessions list: #{response.status} - #{response.body}".red return false end # Parse the response to get session IDs begin sessions_data = JSON.parse(response.body) if sessions_data['Members'] && sessions_data['Members'].any? puts "Found #{sessions_data['Members'].count} active sessions".light_yellow # Delete each session success = true sessions_data['Members'].each do |session| session_url = session['@odata.id'] # Skip if no URL next unless session_url # Delete the session delete_response = request_with_basic_auth(:delete, session_url) if delete_response.status == 200 || delete_response.status == 204 puts "Successfully deleted session: #{session_url}".green else puts "Failed to delete session #{session_url}: #{delete_response.status}".red success = false end # Small delay between deletions sleep(1) end return success else puts "No active sessions found".light_yellow return true end rescue JSON::ParserError => e puts "Error parsing sessions response: #{e.message}".red.bold return false end rescue => e puts "Error during session deletion with Basic Auth: #{e.message}".red.bold return false end end