summaryrefslogtreecommitdiff
path: root/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java')
-rw-r--r--utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java70
1 files changed, 19 insertions, 51 deletions
diff --git a/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java b/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java
index dfe7d5e6..51288a9f 100644
--- a/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java
+++ b/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/HTTPURLProtocolHandlerImpl.java
@@ -17,7 +17,6 @@
package at.gv.egiz.bku.utils.urldereferencer;
import java.io.IOException;
-import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.InvalidParameterException;
@@ -26,86 +25,55 @@ import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSocketFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class HTTPURLProtocolHandlerImpl implements URLProtocolHandler {
- private static Log log = LogFactory.getLog(HTTPURLProtocolHandlerImpl.class);
+ private final Logger log = LoggerFactory.getLogger(HTTPURLProtocolHandlerImpl.class);
public final static String HTTP = "http";
public final static String HTTPS = "https";
- public final static String FORMDATA = "formdata";
- public final static String[] PROTOCOLS = { HTTP, HTTPS, FORMDATA };
+
+ public final static String[] PROTOCOLS = { HTTP, HTTPS };
private HostnameVerifier hostnameVerifier;
private SSLSocketFactory sslSocketFactory;
- public StreamData dereference(String aUrl, URLDereferencerContext aContext)
+ public StreamData dereference(String url)
throws IOException {
- String urlString = aUrl.toLowerCase().trim();
- if (urlString.startsWith(FORMDATA)) {
- log.debug("Requested to dereference a formdata url");
- return dereferenceFormData(aUrl, aContext);
- }
-
- URL url = new URL(aUrl);
- if ((!HTTP.equalsIgnoreCase(url.getProtocol()) && (!HTTPS
- .equalsIgnoreCase(url.getProtocol())))) {
- throw new InvalidParameterException("Url " + aUrl + " not supported");
+ URL u = new URL(url);
+ if ((!HTTP.equalsIgnoreCase(u.getProtocol()) && (!HTTPS
+ .equalsIgnoreCase(u.getProtocol())))) {
+ throw new InvalidParameterException("Url " + url + " not supported");
}
- return dereferenceHTTP(url);
+ return dereferenceHTTP(u);
}
protected StreamData dereferenceHTTP(URL url) throws IOException {
- log.debug("Dereferencing url: " + url);
+ log.info("Dereferencing URL: '{}'.", url);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
if (httpConn instanceof HttpsURLConnection) {
- log.trace("Detected ssl connection");
+ log.trace("Detected ssl connection.");
HttpsURLConnection https = (HttpsURLConnection) httpConn;
if (sslSocketFactory != null) {
- log.debug("Setting custom ssl socket factory for ssl connection");
+ log.debug("Setting custom ssl socket factory for ssl connection.");
https.setSSLSocketFactory(sslSocketFactory);
} else {
- log.trace("No custom socket factory set");
+ log.trace("No custom socket factory set.");
}
if (hostnameVerifier != null) {
- log.debug("Setting custom hostname verifier");
+ log.debug("Setting custom hostname verifier.");
https.setHostnameVerifier(hostnameVerifier);
}
} else {
- log.trace("No secure connection with: "+url+ " class="+httpConn.getClass());
+ log.trace("No secure connection with: {} class={}.", url, httpConn.getClass());
}
- log.trace("Successfully opened connection");
+ log.trace("Successfully opened connection.");
return new StreamData(url.toString(), httpConn.getContentType(), httpConn
.getInputStream());
}
- /**
- *
- * @param aUrl
- * @param aContext
- * @return
- * @throws IOException if the data cannot be found or reading the stream failed.
- */
- protected StreamData dereferenceFormData(String aUrl,
- URLDereferencerContext aContext) throws IOException {
- log.debug("Dereferencing formdata url: " + aUrl);
- String[] parts = aUrl.split(":", 2);
- FormDataURLSupplier supplier = (FormDataURLSupplier) aContext
- .getProperty(FormDataURLSupplier.PROPERTY_KEY_NAME);
- if (supplier == null) {
- throw new NullPointerException(
- "No FormdataUrlSupplier found in provided context");
- }
- String contentType = supplier.getFormDataContentType(parts[1]);
- InputStream is = supplier.getFormData(parts[1]);
- if (is != null) {
- return new StreamData(aUrl, contentType, is);
- }
- throw new IOException("Cannot dereference url: formdata not found");
- }
-
@Override
public void setHostnameVerifier(HostnameVerifier hostnameVerifier) {
this.hostnameVerifier = hostnameVerifier;
@@ -116,4 +84,4 @@ public class HTTPURLProtocolHandlerImpl implements URLProtocolHandler {
this.sslSocketFactory = socketFactory;
}
-} \ No newline at end of file
+}