Java tutorial
/* * * Copyright 2011 Netflix, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package com.netflix.curator.ensemble.exhibitor; import java.io.BufferedInputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URI; import org.apache.commons.io.IOUtils; @SuppressWarnings("UnusedDeclaration") public class DefaultExhibitorRestClient implements ExhibitorRestClient { private final boolean useSsl; public DefaultExhibitorRestClient() { this(false); } public DefaultExhibitorRestClient(boolean useSsl) { this.useSsl = useSsl; } @Override public String getRaw(String hostname, int port, String uriPath, String mimeType) throws Exception { URI uri = new URI(useSsl ? "https" : "http", null, hostname, port, uriPath, null, null); HttpURLConnection connection = (HttpURLConnection) uri.toURL().openConnection(); connection.addRequestProperty("Accept", mimeType); StringBuilder str = new StringBuilder(); InputStream in = new BufferedInputStream(connection.getInputStream()); try { for (;;) { int b = in.read(); if (b < 0) { break; } str.append((char) (b & 0xff)); } } finally { IOUtils.closeQuietly(in); } return str.toString(); } }