Files
github-api/src/main/java/org/kohsuke/github/HttpConnector.java
2015-12-01 15:17:54 +01:00

33 lines
884 B
Java

package org.kohsuke.github;
import org.kohsuke.github.extras.ImpatientHttpConnector;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.concurrent.TimeUnit;
/**
* Pluggability for customizing HTTP request behaviors or using altogether different library.
*
* <p>
* For example, you can implement this to st custom timeouts.
*
* @author Kohsuke Kawaguchi
*/
public interface HttpConnector {
/**
* Opens a connection to the given URL.
*/
HttpURLConnection connect(URL url) throws IOException;
/**
* Default implementation that uses {@link URL#openConnection()}.
*/
HttpConnector DEFAULT = new ImpatientHttpConnector(new HttpConnector() {
public HttpURLConnection connect(URL url) throws IOException {
return (HttpURLConnection) url.openConnection();
}
});
}