Java Code Examples for java.net.HttpURLConnection#getOutputStream()

The following examples show how to use java.net.HttpURLConnection#getOutputStream() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HttpResponse.java    From aliyun-tablestore-java-sdk with Apache License 2.0 6 votes vote down vote up
public static HttpResponse getResponse(HttpRequest request) throws IOException {
    OutputStream out = null;
    InputStream content = null;
    HttpResponse response = null;
    HttpURLConnection httpConn = request.getHttpConnection();

    try {
        httpConn.connect();
        if (null != request.getHttpContent() && request.getHttpContent().length > 0) {
            out = httpConn.getOutputStream();
            out.write(request.getHttpContent());
        }
        content = httpConn.getInputStream();
        response = new HttpResponse(httpConn.getURL().toString());
        pasrseHttpConn(response, httpConn, content);
        return response;
    } catch (IOException e) {
        content = httpConn.getErrorStream();
        response = new HttpResponse(httpConn.getURL().toString());
        pasrseHttpConn(response, httpConn, content);
        return response;
    } finally {
        if (content != null) { content.close(); }
        httpConn.disconnect();
    }
}
 
Example 2
Source File: DeployDemo.java    From ontology-java-sdk with GNU Lesser General Public License v3.0 6 votes vote down vote up
public static Object send(String url, Object request) throws IOException {
    try {
        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
        connection.setRequestMethod("POST");
        connection.setDoOutput(true);
        try (OutputStreamWriter w = new OutputStreamWriter(connection.getOutputStream())) {
            w.write(JSON.toJSONString(request));
        }
        try (InputStreamReader r = new InputStreamReader(connection.getInputStream())) {
            StringBuffer temp = new StringBuffer();
            int c = 0;
            while ((c = r.read()) != -1) {
                temp.append((char) c);
            }
            //System.out.println("result:"+temp.toString());
            return JSON.parseObject(temp.toString(), Map.class);
        }
    } catch (IOException e) {
    }
    return null;
}
 
Example 3
Source File: SourceforgeRssPublisher.java    From contribution with GNU Lesser General Public License v2.1 6 votes vote down vote up
/**
 * Publish release notes.
 *
 * @throws IOException if problem with access to files appears.
 */
public void publish() throws IOException {
    final int postsCountBefore = getPostsCount();

    final HttpURLConnection conn = (HttpURLConnection) new URL(POST_URL).openConnection();
    conn.setDoOutput(true);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

    final OutputStream os = conn.getOutputStream();
    final String postText = new String(Files.readAllBytes(Paths.get(postFilename)),
            StandardCharsets.UTF_8);
    os.write(String.format(POST_TEMPLATE, bearerToken, releaseNumber, postText)
            .getBytes(StandardCharsets.UTF_8));
    os.flush();

    final int responseCode = conn.getResponseCode();
    conn.disconnect();

    // Sourceforge may not response correctly, so we also compare te number of posts in
    // RSS feed before and after publication in such cases to test whether it was successful
    if (responseCode != HttpURLConnection.HTTP_OK && getPostsCount() == postsCountBefore) {
        throw new IOException("Failed to post on RSS with HTTP error code : "
                + responseCode);
    }
}
 
Example 4
Source File: RunnerRestCloudDeploy.java    From netbeans with Apache License 2.0 6 votes vote down vote up
/**
 * Handle sending data to server using HTTP command interface.
 * <p/>
 * This is based on reading the code of
 * <code>CLIRemoteCommand.java</code>
 * from the server's code repository. Since some asadmin commands
 * need to send multiple files, the server assumes the input is a ZIP
 * stream.
 */
@Override
protected void handleSend(HttpURLConnection hconn) throws IOException {
    //InputStream istream = getInputStream();
    if (command.path == null) {
        throw new GlassFishIdeException("The path attribute of deploy command"
                + " has to be non-empty!");
    }
    OutputStreamWriter wr = new OutputStreamWriter(hconn.getOutputStream());
    writeParam(wr, "file", command.path.getAbsolutePath());
    if (command.account != null) {
        writeParam(wr, "account", command.account);
    }
    writeBinaryFile(wr, hconn.getOutputStream(), command.path);
    wr.append("--" + multipartBoundary + "--").append(NEWLINE);
    wr.close();
}
 
Example 5
Source File: HttpSinkProvider.java    From ambari-metrics with Apache License 2.0 5 votes vote down vote up
@Override
public void sinkMetricData(Collection<TimelineMetrics> metrics) {
  HttpURLConnection connection = null;
  try {
    connection = connectUrl.startsWith("https") ? getSSLConnection(connectUrl) : getConnection(connectUrl);

    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("Connection", "Keep-Alive");
    connection.setConnectTimeout(getSinkTimeOutSeconds());
    connection.setReadTimeout(getSinkTimeOutSeconds());
    connection.setDoOutput(true);

    if (metrics != null) {
      String jsonData = mapper.writeValueAsString(metrics);
      try (OutputStream os = connection.getOutputStream()) {
        os.write(jsonData.getBytes("UTF-8"));
      }
    }

    int statusCode = connection.getResponseCode();

    if (statusCode != 200) {
      LOG.info("Unable to POST metrics to external sink, " + connectUrl +
        ", statusCode = " + statusCode);
    } else {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Metrics posted to external sink " + connectUrl);
      }
    }
    cleanupInputStream(connection.getInputStream());

  } catch (IOException io) {
    LOG.warn("Unable to sink data to external system.", io);
  }
}
 
Example 6
Source File: MediaApi.java    From jfinal-weixin with Apache License 2.0 5 votes vote down vote up
/**
	 * 获取永久素材
	 * @param url 素材地址
	 * @return params post参数
	 * @return InputStream 流,考虑到这里可能返回json或file
	 * @throws IOException
	 */
	private static InputStream downloadMaterial(String url, String params) throws IOException {
		URL _url = new URL(url);
		HttpURLConnection conn = (HttpURLConnection) _url.openConnection();
		// 连接超时
		conn.setConnectTimeout(25000);
		// 读取超时 --服务器响应比较慢,增大时间
		conn.setReadTimeout(25000);
		conn.setRequestMethod("POST");
		conn.setRequestProperty("Content-Type", "Keep-Alive");
		conn.setRequestProperty("User-Agent", DEFAULT_USER_AGENT);
		conn.setDoOutput(true);
		conn.setDoInput(true);
		conn.connect();
		if (StrKit.notBlank(params)) {
			OutputStream out = conn.getOutputStream();
			out.write(params.getBytes(DEFAULT_CHARSET));
			out.flush();
			IOUtils.closeQuietly(out);
		}
		InputStream input = conn.getInputStream();
//		// 关闭连接
//		if (conn != null) {
//			conn.disconnect();
//		}
		return input;
	}
 
Example 7
Source File: RunnerRestDisable.java    From netbeans with Apache License 2.0 5 votes vote down vote up
@Override
protected void handleSend(HttpURLConnection hconn) throws IOException {
    CommandTargetName commandApp = (CommandTargetName)command;
    String target = commandApp.target;
    OutputStreamWriter wr =
            new OutputStreamWriter(hconn.getOutputStream());
    StringBuilder data = new StringBuilder();
    data.append("name=").append(commandApp.name);
    if (target != null) {
        data.append("&target=").append(commandApp.target);
    }

    wr.write(data.toString());
    wr.close();
}
 
Example 8
Source File: TransferFsImage.java    From hadoop with Apache License 2.0 5 votes vote down vote up
private static void writeFileToPutRequest(Configuration conf,
    HttpURLConnection connection, File imageFile, Canceler canceler)
    throws FileNotFoundException, IOException {
  connection.setRequestProperty(CONTENT_TYPE, "application/octet-stream");
  connection.setRequestProperty(CONTENT_TRANSFER_ENCODING, "binary");
  OutputStream output = connection.getOutputStream();
  FileInputStream input = new FileInputStream(imageFile);
  try {
    copyFileToStream(output, imageFile, input,
        ImageServlet.getThrottler(conf), canceler);
  } finally {
    IOUtils.closeStream(input);
    IOUtils.closeStream(output);
  }
}
 
Example 9
Source File: StreamingRetry.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
void test(String method) throws Exception {
    ss = new ServerSocket(0);
    ss.setSoTimeout(ACCEPT_TIMEOUT);
    int port = ss.getLocalPort();

    Thread otherThread = new Thread(this);
    otherThread.start();

    try {
        URL url = new URL("http://localhost:" + port + "/");
        HttpURLConnection uc = (HttpURLConnection) url.openConnection();
        uc.setDoOutput(true);
        if (method != null)
            uc.setRequestMethod(method);
        uc.setChunkedStreamingMode(4096);
        OutputStream os = uc.getOutputStream();
        os.write("Hello there".getBytes());

        InputStream is = uc.getInputStream();
        is.close();
    } catch (IOException expected) {
        //expected.printStackTrace();
    } finally {
        ss.close();
        otherThread.join();
    }
}
 
Example 10
Source File: Caller.java    From lastfm-java with BSD 2-Clause "Simplified" License 5 votes vote down vote up
private HttpURLConnection openPostConnection(String method, Map<String, String> params) throws IOException {
	HttpURLConnection urlConnection = openConnection(apiRootUrl);
	urlConnection.setRequestMethod("POST");
	urlConnection.setDoOutput(true);
	OutputStream outputStream = urlConnection.getOutputStream();
	BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream));
	String post = buildPostBody(method, params);
	log.info("Post body: " + post);
	writer.write(post);
	writer.close();
	return urlConnection;
}
 
Example 11
Source File: AutoAddInvertedIndex.java    From incubator-pinot with Apache License 2.0 5 votes vote down vote up
private boolean updateIndexConfig(String tableName, TableConfig tableConfig)
    throws Exception {
  String request =
      ControllerRequestURLBuilder.baseUrl("http://" + _controllerAddress).forTableUpdateIndexingConfigs(tableName);
  HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(request).openConnection();
  httpURLConnection.setDoOutput(true);
  httpURLConnection.setRequestMethod("PUT");

  BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(httpURLConnection.getOutputStream(), "UTF-8"));
  writer.write(tableConfig.toJsonString());
  writer.flush();

  BufferedReader reader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(), "UTF-8"));
  return reader.readLine().equals("done");
}
 
Example 12
Source File: InstaUtils.java    From Instagram-Profile-Downloader with MIT License 5 votes vote down vote up
public static String login(String username, String pass) throws Exception {
    getInitCookies(ig);

    URLConnection connection = new URL(igAuth).openConnection();
    if(connection instanceof HttpURLConnection){
        HttpURLConnection httpURLConnection = (HttpURLConnection) connection;
        httpURLConnection.setRequestMethod(HttpPost.METHOD_NAME);
        httpURLConnection = addPostHeaders(httpURLConnection);

        String query = new Builder().appendQueryParameter("username", username).appendQueryParameter("password", pass).build().getEncodedQuery();
        OutputStream outputStream = httpURLConnection.getOutputStream();
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, HTTP.UTF_8));
        bufferedWriter.write(query);
        bufferedWriter.flush();
        bufferedWriter.close();
        outputStream.close();
        httpURLConnection.connect();

        if(httpURLConnection.getResponseCode() != HttpStatus.SC_OK){
            return "bad_request";
        }

        extractAndSetCookies(httpURLConnection);
        JSONObject jsonObject = new JSONObject(buildResultString(httpURLConnection));
        if(jsonObject.get("user").toString().isEmpty()){
            return BuildConfig.VERSION_NAME;
        }

        return jsonObject.get("authenticated").toString();
    }

    throw new IOException("Url is not valid");
}
 
Example 13
Source File: HttpRequest.java    From wildfly-core with GNU Lesser General Public License v2.1 5 votes vote down vote up
/**
 * Executes an HTTP request to write the specified message.
 *
 * @param spec The {@link URL} in String form
 * @param message Message to write
 * @param timeout Timeout value
 * @param unit Timeout units
 * @param requestMethod Name of the HTTP method to execute (ie. HEAD, GET, POST)
 * @return
 * @throws MalformedURLException
 * @throws ExecutionException
 * @throws TimeoutException
 */
private static String execRequestMethod(final String spec, final String message, final long timeout, final TimeUnit unit, final String requestMethod) throws MalformedURLException, ExecutionException, TimeoutException {

    if(requestMethod==null||requestMethod.isEmpty()){
        throw new IllegalArgumentException("Request Method must be specified (ie. GET, PUT, DELETE etc)");
    }

    final URL url = new URL(spec);
    Callable<String> task = new Callable<String>() {
        @Override
        public String call() throws Exception {
            final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setDoInput(true);
            conn.setDoOutput(true);
            conn.setRequestMethod(requestMethod);
            final OutputStream out = conn.getOutputStream();
            try {
                write(out, message);
                return processResponse(conn);
            }
            finally {
                out.close();
            }
        }
    };
    try {
        return execute(task, timeout, unit);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
 
Example 14
Source File: HurlStack.java    From volley_demo with Apache License 2.0 5 votes vote down vote up
private static void addBodyIfExists(HttpURLConnection connection, Request<?> request)
        throws IOException, AuthFailureError {
    byte[] body = request.getBody();
    if (body != null) {
        connection.setDoOutput(true);
        connection.addRequestProperty(HEADER_CONTENT_TYPE, request.getBodyContentType());
        DataOutputStream out = new DataOutputStream(connection.getOutputStream());
        out.write(body);
        out.close();
    }
}
 
Example 15
Source File: YeepayTest.java    From gameserver with Apache License 2.0 5 votes vote down vote up
@Test
public void testFunc() throws Exception {
	URL url = new URL("http://192.168.0.77/kupai");
	HttpURLConnection conn = (HttpURLConnection)url.openConnection();
	conn.setRequestMethod("POST");
	conn.setDoInput(true);
	conn.setDoOutput(true);
	OutputStream os = conn.getOutputStream();
	os.write(post.getBytes());
	os.close();
	Object obj = conn.getContent();
	int code = conn.getResponseCode();
	System.out.println("code:"+code+", obj:"+obj);
	fail("Not yet implemented");
}
 
Example 16
Source File: upload-app-s3.java    From samples with MIT License 4 votes vote down vote up
public static String createAnAppOrVersion(String filename, String appPath) {
    try {
        JsonObject jsonObject = new JsonObject();
        if (filename != null && filename.length() > 0) {
            jsonObject.addProperty("filename", filename);
        }
        jsonObject.addProperty("appPath", appPath);

        URL uri = new URL("https://api.kobiton.com/v1/apps");
        HttpURLConnection con = (HttpURLConnection) uri.openConnection();

        con.setDoOutput(true);
        con.setDoInput(true);
        con.setUseCaches(false);

        String postData = jsonObject.toString();

        con.setRequestProperty("Authorization", generateBasicAuth());
        con.setRequestMethod("POST");
        con.setRequestProperty("Content-Type", "application/json");
        con.setRequestProperty("Accept", "application/json");

        OutputStream os = con.getOutputStream();
        os.write(postData.getBytes());
        os.flush();

        int responseCode = con.getResponseCode();
        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));

        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }

        in.close();
        con.disconnect();

        System.out.println("createAnAppOrVersion: " + response.toString());
        return response.toString();
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }

    return "";
}
 
Example 17
Source File: MainActivity.java    From voip_android with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
private String login(long uid) {
    //调用app自身的登陆接口获取im服务必须的access token
    String URL = "http://demo.gobelieve.io";
    String uri = String.format("%s/auth/token", URL);

    try {
        java.net.URL url = new URL(uri);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setDoOutput(true);
        connection.setDoInput(true);
        connection.setUseCaches(false);
        connection.setRequestProperty("Content-type", "application/json");
        connection.connect();

        JSONObject json = new JSONObject();
        json.put("uid", uid);
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
        writer.write(json.toString());
        writer.close();

        int responseCode = connection.getResponseCode();
        if(responseCode != HttpURLConnection.HTTP_OK) {
            System.out.println("login failure code is:" + responseCode);
            return null;
        }

        InputStream inputStream = connection.getInputStream();

        //inputstream -> string
        ByteArrayOutputStream result = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int length;
        while ((length = inputStream.read(buffer)) != -1) {
            result.write(buffer, 0, length);
        }
        String str = result.toString(StandardCharsets.UTF_8.name());


        JSONObject jsonObject = new JSONObject(str);
        String accessToken = jsonObject.getString("token");
        return accessToken;
    } catch (Exception e) {
        e.printStackTrace();
    }

    return "";
}
 
Example 18
Source File: HickwallClient.java    From x-pipe with Apache License 2.0 4 votes vote down vote up
private boolean send(String s) throws IOException {
    HttpURLConnection httpURLConnection = this.connection;
    if(httpURLConnection == null) {
        this.connection = httpURLConnection = getConnection();
    }
    boolean isValidConnection = false;

    boolean var5 = false;
    OutputStream out = null;
    label99:
    {
        try {
            isValidConnection = true;
            out = httpURLConnection.getOutputStream();
            out.write(s.getBytes(StandardCharsets.UTF_8));
            out.flush();
            int code = httpURLConnection.getResponseCode();
            if (code == 200) {
                var5 = true;
                isValidConnection = false;
                break label99;
            }

            logger.warn("error " + code);
            var5 = false;
            isValidConnection = false;
        } catch (IOException e) {
            try {
                this.connection.disconnect();
            } catch (Exception ex) {
                logger.debug("[send]", ex);
            }
        } finally {
            if (isValidConnection) {
                closeIfNotValidConnect(httpURLConnection);
            }
        }
    }

    closeIfNotValidConnect(httpURLConnection);

    return var5;
}
 
Example 19
Source File: CaMgmtClient.java    From xipki with Apache License 2.0 4 votes vote down vote up
private byte[] transmit(MgmtAction action, MgmtRequest req, boolean voidReturn)
    throws CaMgmtException {
  initIfNotDone();

  byte[] reqBytes = req == null ? null : JSON.toJSONBytes(req);
  int size = reqBytes == null ? 0 : reqBytes.length;

  URL url = actionUrlMap.get(action);

  try {
    HttpURLConnection httpUrlConnection = IoUtil.openHttpConn(url);

    if (httpUrlConnection instanceof HttpsURLConnection) {
      if (sslSocketFactory != null) {
        ((HttpsURLConnection) httpUrlConnection).setSSLSocketFactory(sslSocketFactory);
      }
      if (hostnameVerifier != null) {
        ((HttpsURLConnection) httpUrlConnection).setHostnameVerifier(hostnameVerifier);
      }
    }

    httpUrlConnection.setDoOutput(true);
    httpUrlConnection.setUseCaches(false);

    httpUrlConnection.setRequestMethod("POST");
    httpUrlConnection.setRequestProperty("Content-Type", REQUEST_CT);
    httpUrlConnection.setRequestProperty("Content-Length", java.lang.Integer.toString(size));
    OutputStream outputstream = httpUrlConnection.getOutputStream();
    if (size != 0) {
      outputstream.write(reqBytes);
    }
    outputstream.flush();

    if (httpUrlConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
      InputStream in = httpUrlConnection.getInputStream();

      boolean inClosed = false;
      try {
        String responseContentType = httpUrlConnection.getContentType();
        if (!RESPONSE_CT.equals(responseContentType)) {
          throw new CaMgmtException(
              "bad response: mime type " + responseContentType + " not supported!");
        }

        if (voidReturn) {
          return null;
        } else {
          inClosed = true;
          return IoUtil.read(httpUrlConnection.getInputStream());
        }
      } finally {
        if (in != null & !inClosed) {
          in.close();
        }
      }
    } else {
      String errorMessage = httpUrlConnection.getHeaderField(HttpConstants.HEADER_XIPKI_ERROR);
      if (errorMessage == null) {
        StringBuilder sb = new StringBuilder(100);
        sb.append("server returns ").append(httpUrlConnection.getResponseCode());
        String respMsg = httpUrlConnection.getResponseMessage();
        if (StringUtil.isNotBlank(respMsg)) {
          sb.append(" ").append(respMsg);
        }
        throw new CaMgmtException(sb.toString());
      } else {
        throw new CaMgmtException(errorMessage);
      }
    }
  } catch (IOException ex) {
    throw new CaMgmtException(
        "IOException while sending message to the server: " + ex.getMessage(), ex);
  }
}
 
Example 20
Source File: HttpRequestHelper.java    From che with Eclipse Public License 2.0 4 votes vote down vote up
public static String requestString(
    int timeout, String url, String method, Object body, Pair<String, ?>... parameters)
    throws IOException, ServerException, ForbiddenException, NotFoundException,
        UnauthorizedException, ConflictException {
  final String authToken = EnvironmentContext.getCurrent().getSubject().getToken();
  if ((parameters != null && parameters.length > 0) || authToken != null) {
    final UriBuilder ub = UriBuilder.fromUri(url);
    // remove sensitive information from url.
    ub.replaceQueryParam("token", null);

    if (parameters != null && parameters.length > 0) {
      for (Pair<String, ?> parameter : parameters) {
        ub.queryParam(parameter.first, parameter.second);
      }
    }
    url = ub.build().toString();
  }
  final HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
  conn.setConnectTimeout(timeout > 0 ? timeout : 60000);
  conn.setReadTimeout(timeout > 0 ? timeout : 60000);
  try {
    conn.setRequestMethod(method);
    // drop a hint for server side that we want to receive application/json
    //            conn.addRequestProperty(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
    if (authToken != null) {
      conn.setRequestProperty(HttpHeaders.AUTHORIZATION, authToken);
    }
    if (body != null) {
      //                conn.addRequestProperty(HttpHeaders.CONTENT_TYPE,
      // MediaType.APPLICATION_JSON);
      conn.setDoOutput(true);

      if (HttpMethod.DELETE.equals(method)) { // to avoid jdk bug described here
        // http://bugs.java.com/view_bug.do?bug_id=7157360
        conn.setRequestMethod(HttpMethod.POST);
        conn.setRequestProperty("X-HTTP-Method-Override", HttpMethod.DELETE);
      }

      try (OutputStream output = conn.getOutputStream()) {
        output.write(DtoFactory.getInstance().toJson(body).getBytes());
      }
    }

    final int responseCode = conn.getResponseCode();
    if ((responseCode / 100) != 2) {
      InputStream in = conn.getErrorStream();
      if (in == null) {
        in = conn.getInputStream();
      }
      final String str;
      try (Reader reader = new InputStreamReader(in)) {
        str = CharStreams.toString(reader);
      }
      final String contentType = conn.getContentType();
      if (contentType != null && contentType.startsWith(MediaType.APPLICATION_JSON)) {
        final ServiceError serviceError =
            DtoFactory.getInstance().createDtoFromJson(str, ServiceError.class);
        if (serviceError.getMessage() != null) {
          if (responseCode == Response.Status.FORBIDDEN.getStatusCode()) {
            throw new ForbiddenException(serviceError);
          } else if (responseCode == Response.Status.NOT_FOUND.getStatusCode()) {
            throw new NotFoundException(serviceError);
          } else if (responseCode == Response.Status.UNAUTHORIZED.getStatusCode()) {
            throw new UnauthorizedException(serviceError);
          } else if (responseCode == Response.Status.CONFLICT.getStatusCode()) {
            throw new ConflictException(serviceError);
          } else if (responseCode == Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()) {
            throw new ServerException(serviceError);
          }
          throw new ServerException(serviceError);
        }
      }
      // Can't parse content as json or content has format other we expect for error.
      throw new IOException(
          String.format(
              "Failed access: %s, method: %s, response code: %d, message: %s",
              UriBuilder.fromUri(url).replaceQuery("token").build(), method, responseCode, str));
    }

    //            final String contentType = conn.getContentType();

    //            if (!(contentType == null ||
    // contentType.startsWith(MediaType.APPLICATION_JSON))) {
    //                throw new IOException(conn.getResponseMessage());
    //            }

    try (Reader reader = new InputStreamReader(conn.getInputStream())) {
      return CharStreams.toString(reader);
    }
  } finally {
    conn.disconnect();
  }
}