// Path: http/src/main/java/com/mcxiaoke/next/http/callback/FileCallback.java
// public interface FileCallback extends HttpCallback<File> {
// }
// 
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/GsonCallback.java
// public abstract class GsonCallback<T> implements HttpCallback<T> {
//     public final Type type;
//     public final Gson gson;
// 
//     public GsonCallback(final Class<T> clazz) {
//         this(clazz, null);
//     }
// 
//     public GsonCallback(final Class<T> clazz, final Gson gson) {
//         this.type = clazz;
//         this.gson = gson;
//     }
// 
//     public GsonCallback(final Type type) {
//         this(type, null);
//     }
// 
//     public GsonCallback(Type type, final Gson gson) {
//         this.type = type;
//         this.gson = gson;
//     }
// 
// }
// 
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/ResponseCallback.java
// public interface ResponseCallback extends HttpCallback<NextResponse> {
// }
// 
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/StringCallback.java
// public interface StringCallback extends HttpCallback<String> {
// }


import com.mcxiaoke.next.http.callback.FileCallback;
import com.mcxiaoke.next.http.callback.GsonCallback;
import com.mcxiaoke.next.http.callback.ResponseCallback;
import com.mcxiaoke.next.http.callback.StringCallback;
import java.io.File;
import java.util.Collections;
import java.util.Map;
    public static String get(final String url, final Map<String, String> queries,
                             final ResponseCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, queries, null, callback, caller);
    }

    public static String get(final String url, final NextParams params,
                             final ResponseCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, params, callback, caller);
    }

    public static String get(final String url, final StringCallback callback,
                             Object caller) {
        return get(url, emptyMap(), callback, caller);
    }

    public static String get(final String url, final Map<String, String> queries,
                             final StringCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, queries, null, callback, caller);
    }

    public static String get(final String url, final NextParams params,
                             final StringCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, params, callback, caller);
    }

    public static <T> String get(final String url,
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/FileCallback.java
// public interface FileCallback extends HttpCallback<File> {
// }
// 
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/GsonCallback.java
// public abstract class GsonCallback<T> implements HttpCallback<T> {
//     public final Type type;
//     public final Gson gson;
// 
//     public GsonCallback(final Class<T> clazz) {
//         this(clazz, null);
//     }
// 
//     public GsonCallback(final Class<T> clazz, final Gson gson) {
//         this.type = clazz;
//         this.gson = gson;
//     }
// 
//     public GsonCallback(final Type type) {
//         this(type, null);
//     }
// 
//     public GsonCallback(Type type, final Gson gson) {
//         this.type = type;
//         this.gson = gson;
//     }
// 
// }
// 
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/ResponseCallback.java
// public interface ResponseCallback extends HttpCallback<NextResponse> {
// }
// 
// Path: http/src/main/java/com/mcxiaoke/next/http/callback/StringCallback.java
// public interface StringCallback extends HttpCallback<String> {
// }


// Path: http/src/main/java/com/mcxiaoke/next/http/HttpAsync.java
import com.mcxiaoke.next.http.callback.FileCallback;
import com.mcxiaoke.next.http.callback.GsonCallback;
import com.mcxiaoke.next.http.callback.ResponseCallback;
import com.mcxiaoke.next.http.callback.StringCallback;
import java.io.File;
import java.util.Collections;
import java.util.Map;

    public static String get(final String url, final Map<String, String> queries,
                             final ResponseCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, queries, null, callback, caller);
    }

    public static String get(final String url, final NextParams params,
                             final ResponseCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, params, callback, caller);
    }

    public static String get(final String url, final StringCallback callback,
                             Object caller) {
        return get(url, emptyMap(), callback, caller);
    }

    public static String get(final String url, final Map<String, String> queries,
                             final StringCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, queries, null, callback, caller);
    }

    public static String get(final String url, final NextParams params,
                             final StringCallback callback,
                             Object caller) {
        return add(HttpMethod.GET, url, params, callback, caller);
    }

    public static <T> String get(final String url,
                                 final GsonCallback<T> callback,