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
Revision: 1.11
Committed: Tue May 21 16:47:18 2002 UTC (22 years ago) by tdb
Branch: MAIN
Changes since 1.10: +3 -2 lines
Log Message:
Added URL to GPL headers.

File Contents

# Content
1 /*
2 * i-scream central monitoring system
3 * http://www.i-scream.org.uk
4 * Copyright (C) 2000-2002 i-scream
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 */
20
21 //---PACKAGE DECLARATION---
22 package uk.org.iscream.cms.server.filter.plugins;
23
24 //---IMPORTS---
25 import uk.org.iscream.cms.server.filter.PluginServiceCheck;
26 import java.net.URL;
27 import java.net.HttpURLConnection;
28
29 /**
30 * Tests whether a webserver is responding on port 80.
31 * Connects on port 80 and performs a simple HTTP HEAD request.
32 * Currently it sends back 200 for OK, anything else indicates a failure.
33 *
34 * @author $Author: tdb $
35 * @version $Id: HTTP__ServiceCheck.java,v 1.10 2002/05/18 18:16:02 tdb Exp $
36 */
37 public class HTTP__ServiceCheck implements PluginServiceCheck {
38
39 //---FINAL ATTRIBUTES---
40
41 /**
42 * The current CVS revision of this class
43 */
44 public final String REVISION = "$Revision: 1.10 $";
45
46 public final String DESC = "Checks that a webserver is responding to requests.";
47
48 //---STATIC METHODS---
49
50 //---CONSTRUCTORS---
51
52 //---PUBLIC METHODS---
53
54 /**
55 * Performs the service check on a given host.
56 *
57 * @param hostname the host to check
58 * @return XML data representing the result of the test
59 */
60 public String runServiceCheck(String hostname){
61 String status = "";
62 String message = "";
63 try {
64 HttpURLConnection connection = (HttpURLConnection) ((new URL("HTTP://" + hostname)).openConnection());
65 // only get the head as we don't want any real content
66 connection.setRequestMethod("HEAD");
67 // let the server know who we are, just to be nice, and get our name about ;p
68 connection.setRequestProperty("User-Agent", "i-scream HTTP Service Checker v" + REVISION.substring(11, REVISION.length() - 2));
69 // connect and do the request
70 connection.connect();
71 if (connection.getResponseCode() == 200 ) {
72 status = "0";
73 } else {
74 status = "1";
75 }
76 message = connection.getResponseMessage();
77 connection.disconnect();
78 } catch (Exception e) {
79 status = "1";
80 message = "Service check failed to establish connection to host:" + e.getMessage();
81 }
82 // send the results back
83 return "<HTTP status=\"" + status + "\" message=\"" + message + "\"></HTTP>";
84 }
85
86 /**
87 * return the String representation of what the filter does
88 */
89 public String getDescription(){
90 return DESC;
91 }
92
93 //---PRIVATE METHODS---
94
95 //---ACCESSOR/MUTATOR METHODS---
96
97 //---ATTRIBUTES---
98
99 //---STATIC ATTRIBUTES---
100
101 }