class IDRAC::Session
def create
def create # Skip if we're in direct mode if @direct_mode debug "Skipping Redfish session creation (direct mode)", 1, :light_yellow return false end # Determine the correct session endpoint based on Redfish version session_endpoint = determine_session_endpoint payload = { "UserName" => username, "Password" => password } debug "Attempting to create Redfish session at #{base_url}#{session_endpoint}", 1 debug "SSL verification: #{verify_ssl ? 'Enabled' : 'Disabled'}", 1 print_connection_debug_info if @verbosity >= 2 # Try creation methods in sequence return true if create_session_with_content_type(session_endpoint, payload) return true if create_session_with_basic_auth(session_endpoint, payload) return true if handle_max_sessions_and_retry(session_endpoint, payload) return true if create_session_with_form_urlencoded(session_endpoint, payload) # If all attempts fail, switch to direct mode @direct_mode = true false end