ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/filter/plugins/HTTP__ServiceCheck.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filter/plugins/HTTP__ServiceCheck.java (file contents):
Revision 1.1 by ajm, Sun Feb 11 22:36:07 2001 UTC vs.
Revision 1.10 by tdb, Sat May 18 18:16:02 2002 UTC

# Line 1 | Line 1
1 + /*
2 + * i-scream central monitoring system
3 + * Copyright (C) 2000-2002 i-scream
4 + *
5 + * This program is free software; you can redistribute it and/or
6 + * modify it under the terms of the GNU General Public License
7 + * as published by the Free Software Foundation; either version 2
8 + * of the License, or (at your option) any later version.
9 + *
10 + * This program is distributed in the hope that it will be useful,
11 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 + * GNU General Public License for more details.
14 + *
15 + * You should have received a copy of the GNU General Public License
16 + * along with this program; if not, write to the Free Software
17 + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 + */
19 +
20   //---PACKAGE DECLARATION---
21 < package uk.ac.ukc.iscream.filter.plugins;
21 > package uk.org.iscream.cms.server.filter.plugins;
22  
23   //---IMPORTS---
24 < import uk.ac.ukc.iscream.filter.PluginServiceCheck;
24 > import uk.org.iscream.cms.server.filter.PluginServiceCheck;
25   import java.net.URL;
26 < import java.net.URLConnection;
26 > import java.net.HttpURLConnection;
27  
28   /**
29 < * A first REAL service check! ;-)
29 > * Tests whether a webserver is responding on port 80.
30   * Connects on port 80 and performs a simple HTTP HEAD request.
31   * Currently it sends back 200 for OK, anything else indicates a failure.
32   *
# Line 35 | Line 54 | public class HTTP__ServiceCheck implements PluginServi
54       * Performs the service check on a given host.
55       *
56       * @param hostname the host to check
57 +     * @return XML data representing the result of the test
58       */
59      public String runServiceCheck(String hostname){
60 <        HttpURLConnection connection = (HttpURLConnection) ((new URL("HTTP://" + hostname)).openConnection());
61 <        // only get the head as we don't want any real content
62 <        connection.setRequestMethod("HEAD");
63 <        // let the server know who we are, just to be nice, and get our name about ;p
64 <        connection.setRequestProperty("User-Agent", "i-scream HTTP Service Checker v" + revision.substring(11, revision.length() - 2));
65 <        // connect and do the request
66 <        connection.connect();
60 >        String status = "";
61 >        String message = "";
62 >        try {
63 >            HttpURLConnection connection = (HttpURLConnection) ((new URL("HTTP://" + hostname)).openConnection());
64 >            // only get the head as we don't want any real content
65 >            connection.setRequestMethod("HEAD");
66 >            // let the server know who we are, just to be nice, and get our name about ;p
67 >            connection.setRequestProperty("User-Agent", "i-scream HTTP Service Checker v" + REVISION.substring(11, REVISION.length() - 2));
68 >            // connect and do the request
69 >            connection.connect();
70 >            if (connection.getResponseCode() == 200 ) {
71 >                status = "0";
72 >            } else {
73 >                status = "1";
74 >            }
75 >            message = connection.getResponseMessage();
76 >            connection.disconnect();
77 >        } catch (Exception e) {
78 >            status = "1";
79 >            message = "Service check failed to establish connection to host:" + e.getMessage();
80 >       }
81          // send the results back
82 <        return "<HTTP status=\"" + connection.getResponseCode() + "\" message=\"" + connection.getResponseMessage() + "\"></HTTP>";
82 >        return "<HTTP status=\"" + status + "\" message=\"" + message + "\"></HTTP>";
83      }
84  
85      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines