private void processReturn() throws IOException { InputStream is = null; BufferedReader rd = null; try { if (processReturn(connection.getResponseCode())) { is = connection.getInputStream(); rd = new BufferedReader(new InputStreamReader(is)); String line; response = new StringBuffer(); while ((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } } } catch (IOException e) { if (e instanceof ConnectException) throw new IOException("Não foi possível conectar com o servidor."); throw new IOException("Erro ao efetuar leitura dos dados retornados"); } finally { try { if (rd != null) rd.close(); if (is != null) is.close(); } catch (IOException e) { L.output(e.getMessage()); } } }
private void configBody(String params) throws IOException { try { byte[] postData = params.getBytes(ENCODING_UTF); int postDataLength = postData.length; connection.setDoOutput(true); connection.setRequestProperty("charset", ENCODING_UTF); connection.setRequestProperty("Content-Length", Integer.toString(postDataLength)); connection.setUseCaches(false); wr = new DataOutputStream(connection.getOutputStream()); wr.write(postData); } catch (IOException e) { if (e instanceof ConnectException) throw new IOException("Problemas ao tentar conectar com o servidor."); throw new IOException("Problemas ao processar dados para envio."); } finally { if (wr != null) { try { wr.flush(); wr.close(); } catch (IOException e) { L.output(e.getMessage()); } } } }
private Boolean processReturn(int statusCode) throws IOException { L.output("STATUS CODE: " + statusCode); switch (statusCode) { case 200:; case 201:; case 202: messageResponse.setStatus(true); return true; case HttpURLConnection.HTTP_NO_CONTENT: messageResponse.setStatus(true); messageResponse.setMsg("Nenhum conteúdo encontrado."); statusResponse = statusCode; break; case HttpURLConnection.HTTP_CONFLICT: messageResponse.setMsg("Possível duplicidade."); break; case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:; case HttpURLConnection.HTTP_CLIENT_TIMEOUT: messageResponse.setMsg("Tentativas de consulta expiraram."); break; case HttpURLConnection.HTTP_BAD_REQUEST: messageResponse.setMsg("Url inválida: " + URL); break; case HttpURLConnection.HTTP_NOT_FOUND: messageResponse.setMsg("Problemas ao localizar serviço."); break; case HttpURLConnection.HTTP_UNAUTHORIZED:; case HttpURLConnection.HTTP_FORBIDDEN: messageResponse.setMsg("Autenticação necessária."); break; case HttpURLConnection.HTTP_NOT_ACCEPTABLE: messageResponse.setMsg("Parâmetros inválidos."); break; case HttpURLConnection.HTTP_UNAVAILABLE: messageResponse.setMsg("Problemas ao efetuar solicitação para o servidor."); break; case 422: messageResponse.setMsg(connection.getResponseMessage()); break; case HttpURLConnection.HTTP_UNSUPPORTED_TYPE: messageResponse.setMsg("Parâmetros de requisição inválido."); break; case HttpURLConnection.HTTP_INTERNAL_ERROR: messageResponse.setMsg("Humm, parece que estamos com problema nos nossos servidores."); break; default: messageResponse.setMsg("Problemas ao efetuar comunicação com o servidor."); } return false; }