// Path: src/main/java/uk/ac/ic/wlgitbridge/util/FunctionT.java
// @FunctionalInterface
// public interface FunctionT<T, R, E extends Throwable> {
// 
//     R apply(T t) throws E;
// 
// }


import com.ning.http.client.HttpResponseHeaders;
import uk.ac.ic.wlgitbridge.util.FunctionT;
import java.util.concurrent.ExecutionException;
package uk.ac.ic.wlgitbridge.io.http.ning;



public interface NingHttpClientFacade {

    /**
     * Performs a GET request
     * @param url the target URL
     * @param handler handler for the response headers. Returning false
     *                aborts the request.
     * @return
     */
    <E extends Exception> byte[] get(
            String url,
// Path: src/main/java/uk/ac/ic/wlgitbridge/util/FunctionT.java
// @FunctionalInterface
// public interface FunctionT<T, R, E extends Throwable> {
// 
//     R apply(T t) throws E;
// 
// }


// Path: src/main/java/uk/ac/ic/wlgitbridge/io/http/ning/NingHttpClientFacade.java
import com.ning.http.client.HttpResponseHeaders;
import uk.ac.ic.wlgitbridge.util.FunctionT;
import java.util.concurrent.ExecutionException;

package uk.ac.ic.wlgitbridge.io.http.ning;



public interface NingHttpClientFacade {

    /**
     * Performs a GET request
     * @param url the target URL
     * @param handler handler for the response headers. Returning false
     *                aborts the request.
     * @return
     */
    <E extends Exception> byte[] get(
            String url,
            FunctionT<HttpResponseHeaders, Boolean, E> handler