X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Futil%2FHttpUtils.java;h=0454cabc3a7036ebedcad745d28a44401c1cc32b;hb=c0e43acd458a2e19a5ab3be56a53bc88932657c4;hp=68e628a886984d8ad72f2e76fbb03e78fcdea057;hpb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;p=jalview.git diff --git a/src/jalview/util/HttpUtils.java b/src/jalview/util/HttpUtils.java index 68e628a..0454cab 100644 --- a/src/jalview/util/HttpUtils.java +++ b/src/jalview/util/HttpUtils.java @@ -1,6 +1,6 @@ -/******************************************************************************* - * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1) - * Copyright (C) 2015 The Jalview Authors +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -17,12 +17,17 @@ * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. - ******************************************************************************/ + */ package jalview.util; 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 { @@ -64,4 +69,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; + } + }