Index: talk/examples/android/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java |
diff --git a/talk/examples/android/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java b/talk/examples/android/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java |
deleted file mode 100644 |
index 9cb0196bb26885523502925f94b660f9baf7d50a..0000000000000000000000000000000000000000 |
--- a/talk/examples/android/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java |
+++ /dev/null |
@@ -1,139 +0,0 @@ |
-/* |
- * libjingle |
- * Copyright 2015 Google Inc. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions are met: |
- * |
- * 1. Redistributions of source code must retain the above copyright notice, |
- * this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright notice, |
- * this list of conditions and the following disclaimer in the documentation |
- * and/or other materials provided with the distribution. |
- * 3. The name of the author may not be used to endorse or promote products |
- * derived from this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED |
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO |
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-package org.appspot.apprtc.util; |
- |
-import java.io.IOException; |
-import java.io.InputStream; |
-import java.io.OutputStream; |
-import java.net.HttpURLConnection; |
-import java.net.SocketTimeoutException; |
-import java.net.URL; |
-import java.util.Scanner; |
- |
-/** |
- * Asynchronous http requests implementation. |
- */ |
-public class AsyncHttpURLConnection { |
- private static final int HTTP_TIMEOUT_MS = 8000; |
- private static final String HTTP_ORIGIN = "https://apprtc.appspot.com"; |
- private final String method; |
- private final String url; |
- private final String message; |
- private final AsyncHttpEvents events; |
- private String contentType; |
- |
- /** |
- * Http requests callbacks. |
- */ |
- public interface AsyncHttpEvents { |
- public void onHttpError(String errorMessage); |
- public void onHttpComplete(String response); |
- } |
- |
- public AsyncHttpURLConnection(String method, String url, String message, |
- AsyncHttpEvents events) { |
- this.method = method; |
- this.url = url; |
- this.message = message; |
- this.events = events; |
- } |
- |
- public void setContentType(String contentType) { |
- this.contentType = contentType; |
- } |
- |
- public void send() { |
- Runnable runHttp = new Runnable() { |
- public void run() { |
- sendHttpMessage(); |
- } |
- }; |
- new Thread(runHttp).start(); |
- } |
- |
- private void sendHttpMessage() { |
- try { |
- HttpURLConnection connection = |
- (HttpURLConnection) new URL(url).openConnection(); |
- byte[] postData = new byte[0]; |
- if (message != null) { |
- postData = message.getBytes("UTF-8"); |
- } |
- connection.setRequestMethod(method); |
- connection.setUseCaches(false); |
- connection.setDoInput(true); |
- connection.setConnectTimeout(HTTP_TIMEOUT_MS); |
- connection.setReadTimeout(HTTP_TIMEOUT_MS); |
- // TODO(glaznev) - query request origin from pref_room_server_url_key preferences. |
- connection.addRequestProperty("origin", HTTP_ORIGIN); |
- boolean doOutput = false; |
- if (method.equals("POST")) { |
- doOutput = true; |
- connection.setDoOutput(true); |
- connection.setFixedLengthStreamingMode(postData.length); |
- } |
- if (contentType == null) { |
- connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8"); |
- } else { |
- connection.setRequestProperty("Content-Type", contentType); |
- } |
- |
- // Send POST request. |
- if (doOutput && postData.length > 0) { |
- OutputStream outStream = connection.getOutputStream(); |
- outStream.write(postData); |
- outStream.close(); |
- } |
- |
- // Get response. |
- int responseCode = connection.getResponseCode(); |
- if (responseCode != 200) { |
- events.onHttpError("Non-200 response to " + method + " to URL: " |
- + url + " : " + connection.getHeaderField(null)); |
- connection.disconnect(); |
- return; |
- } |
- InputStream responseStream = connection.getInputStream(); |
- String response = drainStream(responseStream); |
- responseStream.close(); |
- connection.disconnect(); |
- events.onHttpComplete(response); |
- } catch (SocketTimeoutException e) { |
- events.onHttpError("HTTP " + method + " to " + url + " timeout"); |
- } catch (IOException e) { |
- events.onHttpError("HTTP " + method + " to " + url + " error: " |
- + e.getMessage()); |
- } |
- } |
- |
- // Return the contents of an InputStream as a String. |
- private static String drainStream(InputStream in) { |
- Scanner s = new Scanner(in).useDelimiter("\\A"); |
- return s.hasNext() ? s.next() : ""; |
- } |
-} |