X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileParse.java;fp=src%2Fjalview%2Fio%2FFileParse.java;h=d0b61e450debf163cc0349ee583fc75a107d9798;hb=9c127c47a7bf73c3e538815635f525fe59f7faba;hp=36f9290836b0880be4ff70de70a030bff8d0da95;hpb=91560f40856280be24f0001d4e9a786a4dce819e;p=jalview.git diff --git a/src/jalview/io/FileParse.java b/src/jalview/io/FileParse.java index 36f9290..d0b61e4 100755 --- a/src/jalview/io/FileParse.java +++ b/src/jalview/io/FileParse.java @@ -293,19 +293,35 @@ public class FileParse { errormessage = "URL NOT FOUND"; URL url = new URL(urlStr); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - int rc = conn.getResponseCode(); - if (rc != HttpURLConnection.HTTP_OK) + URLConnection _conn = url.openConnection(); + if (_conn instanceof HttpURLConnection) { - throw new IOException( - "Response status from " + urlStr + " was " + rc); + HttpURLConnection conn = (HttpURLConnection) _conn; + int rc = conn.getResponseCode(); + if (rc != HttpURLConnection.HTTP_OK) + { + throw new IOException( + "Response status from " + urlStr + " was " + rc); + } + } else { + try { + dataIn = checkForGzipStream(_conn.getInputStream()); + dataName=urlStr; + } catch (IOException ex) + { + throw new IOException("Failed to handle non-HTTP URI stream",ex); + } catch (Exception ex) + { + throw new IOException("Failed to determine type of input stream for given URI",ex); + } + return; } - String encoding = conn.getContentEncoding(); - String contentType = conn.getContentType(); + String encoding = _conn.getContentEncoding(); + String contentType = _conn.getContentType(); boolean isgzipped = "application/x-gzip".equalsIgnoreCase(contentType) || "gzip".equals(encoding); Exception e = null; - InputStream inputStream = conn.getInputStream(); + InputStream inputStream = _conn.getInputStream(); if (isgzipped) { try