use of com.tonyodev.fetch2.Request in project android-oss by kickstarter.
the class ProjectUpdatesViewModelTest method testProjectUpdatesViewModel_StartUpdateActivity.
@Test
public void testProjectUpdatesViewModel_StartUpdateActivity() {
final ProjectUpdatesViewModel.ViewModel vm = new ProjectUpdatesViewModel.ViewModel(environment());
final Project project = ProjectFactory.project();
final Request updateRequest = new Request.Builder().url("https://kck.str/projects/param/param/posts/id").build();
final TestSubscriber<Pair<Project, Update>> startUpdateActivity = new TestSubscriber<>();
vm.outputs.startUpdateActivity().subscribe(startUpdateActivity);
vm.intent(new Intent().putExtra(IntentKey.PROJECT, project));
vm.inputs.goToUpdateRequest(updateRequest);
startUpdateActivity.assertValueCount(1);
koalaTest.assertValues(KoalaEvent.VIEWED_UPDATES, KoalaEvent.VIEWED_UPDATE);
}
use of com.tonyodev.fetch2.Request in project android-oss by kickstarter.
the class ProjectUpdatesViewModelTest method testProjectUpdatesViewModel_LoadsWebViewUrl.
@Test
public void testProjectUpdatesViewModel_LoadsWebViewUrl() {
final ProjectUpdatesViewModel.ViewModel vm = new ProjectUpdatesViewModel.ViewModel(environment());
final Project project = ProjectFactory.project();
final String anotherIndexUrl = "https://kck.str/projects/param/param/posts?page=another";
final Request anotherIndexRequest = new Request.Builder().url(anotherIndexUrl).build();
final TestSubscriber<String> webViewUrl = new TestSubscriber<>();
vm.outputs.webViewUrl().subscribe(webViewUrl);
// Start the intent with a project.
vm.intent(new Intent().putExtra(IntentKey.PROJECT, project));
// Initial project updates index emits.
webViewUrl.assertValues(project.updatesUrl());
koalaTest.assertValues(KoalaEvent.VIEWED_UPDATES);
// Make a request for another update index.
vm.inputs.goToUpdatesRequest(anotherIndexRequest);
// New updates index url emits. Event is not tracked again.
webViewUrl.assertValues(project.updatesUrl(), anotherIndexUrl);
koalaTest.assertValues(KoalaEvent.VIEWED_UPDATES);
}
use of com.tonyodev.fetch2.Request in project feign by OpenFeign.
the class OkHttpClient method execute.
@Override
public feign.Response execute(feign.Request input, feign.Request.Options options) throws IOException {
okhttp3.OkHttpClient requestScoped;
if (delegate.connectTimeoutMillis() != options.connectTimeoutMillis() || delegate.readTimeoutMillis() != options.readTimeoutMillis()) {
requestScoped = delegate.newBuilder().connectTimeout(options.connectTimeoutMillis(), TimeUnit.MILLISECONDS).readTimeout(options.readTimeoutMillis(), TimeUnit.MILLISECONDS).build();
} else {
requestScoped = delegate;
}
Request request = toOkHttpRequest(input);
Response response = requestScoped.newCall(request).execute();
return toFeignResponse(response).toBuilder().request(input).build();
}
use of com.tonyodev.fetch2.Request in project Signal-Android by WhisperSystems.
the class GiphyLoader method loadPage.
@NonNull
public List<GiphyImage> loadPage(int offset) {
try {
String url;
if (TextUtils.isEmpty(searchString))
url = String.format(getTrendingUrl(), offset);
else
url = String.format(getSearchUrl(), offset, Uri.encode(searchString));
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
GiphyResponse giphyResponse = JsonUtils.fromJson(response.body().byteStream(), GiphyResponse.class);
List<GiphyImage> results = giphyResponse.getData();
if (results == null)
return new LinkedList<>();
else
return results;
} catch (IOException e) {
Log.w(TAG, e);
return new LinkedList<>();
}
}
use of com.tonyodev.fetch2.Request in project Signal-Android by WhisperSystems.
the class OkHttpStreamFetcher method loadData.
@Override
public InputStream loadData(Priority priority) throws Exception {
Request.Builder requestBuilder = new Request.Builder().url(url.toStringUrl());
for (Map.Entry<String, String> headerEntry : url.getHeaders().entrySet()) {
String key = headerEntry.getKey();
requestBuilder.addHeader(key, headerEntry.getValue());
}
Request request = requestBuilder.build();
Response response = client.newCall(request).execute();
responseBody = response.body();
if (!response.isSuccessful()) {
throw new IOException("Request failed with code: " + response.code());
}
long contentLength = responseBody.contentLength();
stream = ContentLengthInputStream.obtain(responseBody.byteStream(), contentLength);
return stream;
}
Aggregations