private boolean checkHealth1(Node node) {

			boolean ok = false;
			java.net.Socket socket = null;
			try {
				socket = new java.net.Socket(node.getHostname(), node.getPort());
				if (!node.isOptionsEnabled()) {
					ok = true;
				} else {
					OutputStream os = socket.getOutputStream();
					os.write(getRequest(node).getBytes());
					os.flush();
					InputStream is = socket.getInputStream();
					BufferedReader br = new BufferedReader(new InputStreamReader(is));
					// Read the response line
					String responseLine = br.readLine();
					if (responseLine == null) {
						throw new IOException("The Socket is closed");
					}

					String tab[] = responseLine.split("\\s+");
					int status = Integer.valueOf(tab[1]);
					String phrase = tab[2];

					if (status == 200 && "OK".equalsIgnoreCase(phrase)) {
						ok = true;
					} else if (status == 501) {
						node.setOptionsEnabled(false);
						ok = true;
					}
				}
			} catch (Throwable e) {
				// Ignore
				e.printStackTrace();
			} finally {
				if (socket != null) {
					try {
						socket.setSoLinger(true, 0);
						socket.close();
					} catch (Throwable e) {
						// Ignore
					}
				}
			}

			System.out.println("OK = " + ok);

			return ok;
		}