@Override protected void onPostExecute(Object result) { if (result != null) { listener.OnResponseReceived(result.toString()); } }
/** * Send synchronous request to HTTP server. * * @param method request method (GET or POST). * @param params set of pairs <key, value>, fields. * @param listenr interface (callback) to bind to external classes. * @return response of HTTP Server. */ private String HTTPSyncRequest(Methods method, JSONObject params, OnHTTPRequest listenr) { Log.i(LOG_TAG, "HTTPSyncRequest(" + method + ")"); List<NameValuePair> requestParams = null; HttpRequestBase httpRequest = null; OnHTTPRequest listener = listenr; try { requestParams = jsonToList(params); } catch (JSONException e1) { e1.printStackTrace(); } // Set parameters of HTTP request. HttpParams httpParameters = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParameters, connectionTimeout); HttpConnectionParams.setSoTimeout(httpParameters, socketTimeout); // Create a new HttpClient and Header HttpClient httpclient = new DefaultHttpClient(httpParameters); if (method == Methods.GET) { httpRequest = new HttpGet(URLServer + "?" + URLEncodedUtils.format(requestParams, "utf-8")); } else { httpRequest = new HttpPost(URLServer); // Add data to request try { ((HttpPost) httpRequest).setEntity(new UrlEncodedFormEntity(requestParams)); } catch (UnsupportedEncodingException e) { listener.OnResquestError(e.getMessage().toString()); e.printStackTrace(); } } try { // Execute HTTP Post Request HttpResponse response = httpclient.execute(httpRequest); Log.i(LOG_TAG, "Code: " + response.getStatusLine().getStatusCode()); // Response if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { return getHTTPResponseContent(response); } else { listener.OnResquestError("Server Error"); } } catch (SocketTimeoutException e) { listener.OnResquestError("Socket Timeout" + e.getMessage().toString()); Log.e(LOG_TAG, "Socket Timeout", e); } catch (ConnectTimeoutException e) { listener.OnResquestError("Connect Timeout" + e.getMessage().toString()); Log.e(LOG_TAG, "Connect Timeout", e); } catch (ClientProtocolException e) { listener.OnResquestError("HTTP Error: " + e.getMessage().toString()); Log.e(LOG_TAG, "HTTP Error", e); } catch (IOException e) { listener.OnResquestError("Connection Error: " + e.getMessage().toString()); Log.e(LOG_TAG, "Connection Error", e); } return null; }