¿Cómo buscar la cadena exacta coincidente en un archivo de texto usando Ruby?

Generé un archivo de texto con encabezados de respuesta de solicitud HTTP con cuerpo de respuesta. Quiero buscar dentro de este archivo buscando encabezados de respuesta que contengan Access-Control-Allow-Origin: * como encabezado.

El archivo contiene esto en la forma de una línea que comienza con -> y termina con " como esto:

 -> "Access-Control-Allow-Origin: *\r\n" 

¿Cómo puedo buscar en este archivo de texto e imprimir un mensaje personalizado sobre los encabezados de respuesta de solicitud utilizando una condición if ?

¿Necesito un regex complejo?

Con mi código no puedo obtener la búsqueda correcta:

 require 'net/http' require 'uri' require 'IPAddr' require 'timeout' puts "Origin IP:\n\n" originip = gets() puts "Start IP:\n\n" startip = gets() puts "End IP:\n\n" endip = gets() (IPAddr.new("#{startip}")..IPAddr.new("#{endip}")).each do |address| begin uri = URI("http://#{address.to_s}") http = Net::HTTP.new(uri.host, uri.port) http.set_debug_output($stdout) request = Net::HTTP::Get.new(uri.request_uri) request.initialize_http_header({"Origin" => "#{originip}"}) response = http.request request $stdout.reopen('Access-Control-Allow-Origin.txt','a') f = File.Open('Access-Control-Allow-Origin.txt') line = f.read if line = /Access-Control-Allow-Origin: */ then puts "\n\nAccess-Control-Allow-Origin: * Header Found:\n\n" else puts "\n\nAccess-Control-Allow-Origin: * Header Not Found:\n\n" end rescue Timeout::Error => exc puts "ERROR: #{exc.message}" rescue Errno::ETIMEDOUT => exc puts "ERROR: #{exc.message}" rescue Exception => exc puts "ERROR: #{exc.message}" end end 

Su statement if está utilizando el operador incorrecto.

 if line =~ /Access-Control-Allow-Origin: */