Merge commit 'alpha/update_2_12_for_2_11_2_series_merge^2' into HEAD
[jalview.git] / src / jalview / util / HttpUtils.java
index 97c84bc..5e27541 100644 (file)
@@ -25,7 +25,12 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.ProtocolException;
 import java.net.URL;
+import java.util.List;
+
+import javax.ws.rs.HttpMethod;
 
 public class HttpUtils
 {
@@ -66,6 +71,36 @@ public class HttpUtils
     }
     return false;
   }
+  public static boolean startsWithHttpOrHttps(String file)
+  {
+    return file.startsWith("http://") || file.startsWith("https://");
+  }
+  
+  /**
+   * wrapper to get/post to a URL or check headers
+   * @param url
+   * @param ids
+   * @param readTimeout
+   * @return
+   * @throws IOException
+   * @throws ProtocolException
+   */
+  public static boolean checkUrlAvailable(URL url,
+          int readTimeout) throws IOException, ProtocolException
+  {
+    // System.out.println(System.currentTimeMillis() + " " + url);
+
+    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+
+    connection.setRequestMethod(HttpMethod.HEAD);
+
+    connection.setDoInput(true);
+
+    connection.setUseCaches(false);
+    connection.setConnectTimeout(300);
+    connection.setReadTimeout(readTimeout);
+    return connection.getResponseCode() == 200;
+  }
 
   /**
    * download from given URL and return a pointer to temporary file