Search in sources :

Example 71 with GET

use of retrofit2.http.GET in project Now by XunMengWinter.

the class RetrofitUtil method get.

public static Retrofit.Builder get(String baseUrl) {
    OkHttpClient okHttpClient = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).build();
    Retrofit.Builder builder = new Retrofit.Builder();
    builder.client(okHttpClient).baseUrl(baseUrl).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJava2CallAdapterFactory.create());
    return builder;
}
Also used : Retrofit(retrofit2.Retrofit) OkHttpClient(okhttp3.OkHttpClient)

Example 72 with GET

use of retrofit2.http.GET in project autorest-clientruntime-for-java by Azure.

the class RetryHandlerTests method exponentialRetryMax.

@Test
public void exponentialRetryMax() throws Exception {
    OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
    Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
    clientBuilder.addInterceptor(new RetryHandler());
    clientBuilder.addInterceptor(new Interceptor() {

        // Send 500 until max retry is hit
        private int count = 0;

        @Override
        public Response intercept(Chain chain) throws IOException {
            Assert.assertTrue(count++ < 5);
            return new Response.Builder().request(chain.request()).code(500).protocol(Protocol.HTTP_1_1).build();
        }
    });
    ServiceClient serviceClient = new ServiceClient("http://localhost", clientBuilder, retrofitBuilder) {
    };
    Response response = serviceClient.httpClient().newCall(new Request.Builder().url("http://localhost").get().build()).execute();
    Assert.assertEquals(500, response.code());
}
Also used : OkHttpClient(okhttp3.OkHttpClient) Request(okhttp3.Request) IOException(java.io.IOException) Response(okhttp3.Response) Retrofit(retrofit2.Retrofit) RetryHandler(com.microsoft.rest.retry.RetryHandler) Interceptor(okhttp3.Interceptor) Test(org.junit.Test)

Example 73 with GET

use of retrofit2.http.GET in project autorest-clientruntime-for-java by Azure.

the class RetryHandlerTests method exponentialRetryEndOn501.

@Test
public void exponentialRetryEndOn501() throws Exception {
    OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
    Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
    clientBuilder.addInterceptor(new RetryHandler());
    clientBuilder.addInterceptor(new Interceptor() {

        // Send 408, 500, 502, all retried, with a 501 ending
        private int[] codes = new int[] { 408, 500, 502, 501 };

        private int count = 0;

        @Override
        public Response intercept(Chain chain) throws IOException {
            return new Response.Builder().request(chain.request()).code(codes[count++]).protocol(Protocol.HTTP_1_1).build();
        }
    });
    ServiceClient serviceClient = new ServiceClient("http://localhost", clientBuilder, retrofitBuilder) {
    };
    Response response = serviceClient.httpClient().newCall(new Request.Builder().url("http://localhost").get().build()).execute();
    Assert.assertEquals(501, response.code());
}
Also used : OkHttpClient(okhttp3.OkHttpClient) Request(okhttp3.Request) IOException(java.io.IOException) Response(okhttp3.Response) Retrofit(retrofit2.Retrofit) RetryHandler(com.microsoft.rest.retry.RetryHandler) Interceptor(okhttp3.Interceptor) Test(org.junit.Test)

Example 74 with GET

use of retrofit2.http.GET in project autorest-clientruntime-for-java by Azure.

the class UserAgentTests method defaultUserAgentTests.

@Test
public void defaultUserAgentTests() throws Exception {
    OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder().addInterceptor(new UserAgentInterceptor()).addInterceptor(new Interceptor() {

        @Override
        public Response intercept(Chain chain) throws IOException {
            String header = chain.request().header("User-Agent");
            Assert.assertEquals("AutoRest-Java", header);
            return new Response.Builder().request(chain.request()).code(200).protocol(Protocol.HTTP_1_1).build();
        }
    });
    ServiceClient serviceClient = new ServiceClient("http://localhost", clientBuilder, new Retrofit.Builder()) {
    };
    Response response = serviceClient.httpClient().newCall(new Request.Builder().get().url("http://localhost").build()).execute();
    Assert.assertEquals(200, response.code());
}
Also used : OkHttpClient(okhttp3.OkHttpClient) UserAgentInterceptor(com.microsoft.rest.interceptors.UserAgentInterceptor) Request(okhttp3.Request) IOException(java.io.IOException) Response(okhttp3.Response) Retrofit(retrofit2.Retrofit) Interceptor(okhttp3.Interceptor) UserAgentInterceptor(com.microsoft.rest.interceptors.UserAgentInterceptor) Test(org.junit.Test)

Example 75 with GET

use of retrofit2.http.GET in project xabber-android by redsolution.

the class RetrofitErrorConverter method throwableToHttpError.

@Nullable
public static String throwableToHttpError(Throwable throwable) {
    String errorMessage = null;
    APIError error = null;
    if (throwable instanceof HttpException) {
        HttpException exception = (HttpException) throwable;
        Response response = exception.response();
        ResponseBody responseBody = response.errorBody();
        if (responseBody != null) {
            Converter<ResponseBody, APIError> converter = HttpApiManager.getRetrofit().responseBodyConverter(APIError.class, new Annotation[0]);
            try {
                error = converter.convert(responseBody);
            } catch (IOException | JsonSyntaxException e) {
                e.printStackTrace();
            }
        }
        if (error != null) {
            if (error.getDetail() != null)
                errorMessage = error.getDetail();
            else if (error.getDetails() != null)
                errorMessage = error.getDetails();
            else if (error.getEmail() != null && error.getEmail().size() > 0)
                errorMessage = error.getEmail().get(0);
            else if (error.getCredentials() != null && error.getCredentials().size() > 0)
                errorMessage = error.getCredentials().get(0);
            else if (error.getCode() != null && error.getCode().size() > 0)
                errorMessage = error.getCode().get(0);
            else if (error.getUsername() != null && error.getUsername().size() > 0)
                errorMessage = error.getUsername().get(0);
            else if (error.getPhone() != null && error.getPhone().size() > 0)
                errorMessage = error.getPhone().get(0);
        }
    }
    return errorMessage;
}
Also used : Response(retrofit2.Response) JsonSyntaxException(com.google.gson.JsonSyntaxException) HttpException(retrofit2.HttpException) IOException(java.io.IOException) ResponseBody(okhttp3.ResponseBody) Nullable(androidx.annotation.Nullable)

Aggregations

ResponseBody (okhttp3.ResponseBody)61 Test (org.junit.Test)54 Request (okhttp3.Request)52 Response (retrofit2.Response)27 Retrofit (retrofit2.Retrofit)23 Query (retrofit2.http.Query)15 List (java.util.List)14 IOException (java.io.IOException)12 OkHttpClient (okhttp3.OkHttpClient)12 HttpUrl (okhttp3.HttpUrl)10 Path (retrofit2.http.Path)10 ArrayList (java.util.ArrayList)9 BrainSentences (com.gladysinc.gladys.Models.BrainSentences)8 RetrofitAPI (com.gladysinc.gladys.Utils.RetrofitAPI)8 SelfSigningClientBuilder (com.gladysinc.gladys.Utils.SelfSigningClientBuilder)8 ServiceResponse (com.microsoft.rest.ServiceResponse)8 Call (retrofit2.Call)8 Url (retrofit2.http.Url)8 Uri (android.net.Uri)6 View (android.view.View)6