private APIResponse HTTPGet(APIRequest request) { APIResponse response = new APIResponse(); HttpURLConnection urlConnection; URL url; String path = basePath; if (request.getCow() != null && request.getCow().getId() > 0) { path = path + "/" + request.getCow().getId(); } try { url = new URL(path); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod(request.getRequestMethod().toString()); urlConnection.connect(); response.setResponseCode(urlConnection.getResponseCode()); response.setResponseMessage(urlConnection.getResponseMessage()); InputStream inputStream = new BufferedInputStream(urlConnection.getInputStream()); response.setResultJSON(readStream(inputStream)); } catch (IOException e) { e.printStackTrace(); } return response; }
private APIResponse HTTPPost(APIRequest request) { APIResponse response = new APIResponse(); HttpURLConnection urlConnection; URL url; String content = request.getCow().toJSON(); try { url = new URL(basePath); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setDoInput(true); urlConnection.setDoOutput(true); urlConnection.setRequestProperty("Content-Type", "application/json"); urlConnection.setRequestMethod(request.getRequestMethod().toString()); OutputStreamWriter outputStream = new OutputStreamWriter(urlConnection.getOutputStream()); outputStream.write(content); outputStream.flush(); response.setResponseCode(urlConnection.getResponseCode()); response.setResponseMessage(urlConnection.getResponseMessage()); outputStream.close(); InputStream inputStream = new BufferedInputStream(urlConnection.getInputStream()); response.setResultJSON(readStream(inputStream)); } catch (IOException e) { e.printStackTrace(); } return response; }
@Override protected APIResponse doInBackground(APIRequest... requests) { APIResponse response = new APIResponse(); APIRequest request = requests[0]; switch (request.getRequestMethod()) { case GET: response = HTTPGet(request); break; case POST: response = HTTPPost(request); break; case DELETE: response = HTTPDelete(request); break; } return response; }
private APIResponse HTTPDelete(APIRequest request) { APIResponse response = new APIResponse(); HttpURLConnection urlConnection; URL url; String path = basePath; try { path = path + "/" + request.getCow().getId(); url = new URL(path); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod(request.getRequestMethod().toString()); urlConnection.connect(); response.setResponseCode(urlConnection.getResponseCode()); response.setResponseMessage(urlConnection.getResponseMessage()); } catch (IOException e) { e.printStackTrace(); } return response; }