package org.commcare.core.network;


import java.util.List;
import java.util.Map;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.HeaderMap;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;

public interface CommCareNetworkService {

    @GET
    Call<ResponseBody> makeGetRequest(@Url String url, @QueryMap Map<String, String> params,
                                      @HeaderMap Map<String, String> headers);

    @Multipart
    @POST
    Call<ResponseBody> makeMultipartPostRequest(@Url String url, @QueryMap Map<String, String> params,
                                                @HeaderMap Map<String, String> headers,
                                                @Part List<MultipartBody.Part> files);

    @POST
    Call<ResponseBody> makePostRequest(@Url String url, @QueryMap Map<String, String> params,
                                       @HeaderMap Map<String, String> headers,
                                       @Body RequestBody body);
}

@@ -391,24 +391,57 @@
 p.QueryMap;%0A
+import retrofit2.http.Streaming;%0A
 import retro
@@ -455,16 +455,16 @@
 tp.Url;%0A
-
 %0Apublic 
@@ -499,16 +499,31 @@
 vice %7B%0A%0A
+    @Streaming%0A
     @GET
@@ -692,24 +692,39 @@
  headers);%0A%0A
+    @Streaming%0A
     @Multipa
@@ -1011,24 +1011,39 @@
 t%3E files);%0A%0A
+    @Streaming%0A
     @POST%0A  

add @Streaming tags for all retrofit request methods