]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/wserver.rb
plugin(points): new message parser, see #34
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / wserver.rb
index fb4738c173a13bcd6e662227478e5c6c97071d34..b9260170b4997d4d71352145983ce0279cc29b07 100644 (file)
@@ -1,7 +1,3 @@
-require 'net/http'
-require 'uri'
-Net::HTTP.version_1_2
-
 class WserverPlugin < Plugin
   def help(plugin, topic="")
     "wserver <uri> => try and determine what webserver <uri> is using"
@@ -16,43 +12,39 @@ class WserverPlugin < Plugin
         m.reply "cowardly refusing to follow more than 3 redirects"
         return
       end
-      
+
       begin
         uri = URI.parse(hostname)
       rescue URI::InvalidURIError => err
         m.reply "#{hostname} is not a valid URI"
         return
       end
-      
+
       unless(uri)
         m.reply "incorrect usage: " + help(m.plugin)
         return
       end
-        
-      http = @bot.httputil.get_proxy(uri)
-      http.open_timeout = 5
-      
-      http.start {|http|
-        resp = http.head('/')
-        server = resp['Server']
-        if(server && server.length > 0)
-          m.reply "#{uri.host} is running #{server}"
-        else
-          m.reply "couldn't tell what #{uri.host} is running"
-        end
-        
-        if(resp.code == "302" || resp.code == "301") 
-          newloc = resp['location']
-          newuri = URI.parse(newloc)
-          # detect and ignore incorrect redirects (to relative paths etc)
-          if (newuri.host != nil)
-            if(uri.host != newuri.host)
-              m.reply "#{uri.host} redirects to #{newuri.scheme}://#{newuri.host}"
-              raise resp['location']
-            end
+
+
+      resp = @bot.httputil.head(uri)
+      server = resp['Server']
+      if(server && server.length > 0)
+        m.reply "#{uri.host} is running #{server}"
+      else
+        m.reply "couldn't tell what #{uri.host} is running"
+      end
+
+      if(resp.code == "302" || resp.code == "301")
+        newloc = resp['location']
+        newuri = URI.parse(newloc)
+        # detect and ignore incorrect redirects (to relative paths etc)
+        if (newuri.host != nil)
+          if(uri.host != newuri.host)
+            m.reply "#{uri.host} redirects to #{newuri.scheme}://#{newuri.host}"
+            raise resp['location']
           end
         end
-      }
+      end
     rescue TimeoutError => err
       m.reply "timed out connecting to #{uri.host}:#{uri.port} :("
       return
@@ -61,7 +53,7 @@ class WserverPlugin < Plugin
       hostname = err.message
       retry
     rescue StandardError => err
-      puts err
+      error err.inspect
       m.reply "couldn't connect to #{uri.host}:#{uri.port} :("
       return
     end