package com.koushikdutta.async.http; import android.os.Bundle; import com.koushikdutta.async.AsyncSocket; import com.koushikdutta.async.DataEmitter; import com.koushikdutta.async.callback.ConnectCallback; import com.koushikdutta.async.future.Cancellable; import com.koushikdutta.async.http.libcore.ResponseHeaders; public interface AsyncHttpClientMiddleware { public static class GetSocketData { Bundle state = new Bundle(); AsyncHttpRequest request; ConnectCallback connectCallback; } public static class OnSocketData extends GetSocketData { AsyncSocket socket; } public static class OnHeadersReceivedData extends OnSocketData { ResponseHeaders headers; } public static class OnBodyData extends OnHeadersReceivedData { DataEmitter bodyEmitter; } public static class OnRequestCompleteData extends OnBodyData { Exception exception; } public Cancellable getSocket(GetSocketData data); public void onSocket(OnSocketData data); public void onHeadersReceived(OnHeadersReceivedData data); public void onBodyDecoder(OnBodyData data); public void onRequestComplete(OnRequestCompleteData data); }