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;
}
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());
}
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());
}
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());
}
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;
}
Aggregations