use of okhttp3.logging.HttpLoggingInterceptor.Level in project feign by OpenFeign.
the class FallbackFactoryTest method defaultFallbackFactory_logsAtFineLevel.
@Test
public void defaultFallbackFactory_logsAtFineLevel() {
server.enqueue(new MockResponse().setResponseCode(500));
AtomicBoolean logged = new AtomicBoolean();
Logger logger = new Logger("", null) {
@Override
public void log(Level level, String msg, Throwable thrown) {
logged.set(true);
assertThat(msg).isEqualTo("fallback due to: [500 Server Error] during [POST] to [http://localhost:" + server.getPort() + "/] [TestInterface#invoke()]: []");
assertThat(thrown).isInstanceOf(FeignException.class);
}
};
logger.setLevel(Level.FINE);
target(new FallbackFactory.Default<>(() -> "foo", logger)).invoke();
assertThat(logged.get()).isTrue();
}
use of okhttp3.logging.HttpLoggingInterceptor.Level in project feign by OpenFeign.
the class FallbackFactoryTest method defaultFallbackFactory_doesntLogByDefault.
@Test
public void defaultFallbackFactory_doesntLogByDefault() {
server.enqueue(new MockResponse().setResponseCode(500));
Logger logger = new Logger("", null) {
@Override
public void log(Level level, String msg, Throwable thrown) {
throw new AssertionError("logged eventhough not FINE level");
}
};
target(new FallbackFactory.Default<>(() -> "foo", logger)).invoke();
}
use of okhttp3.logging.HttpLoggingInterceptor.Level in project bitcoin-wallet by bitcoin-wallet.
the class AlertDialogsFragment method process.
private void process() {
final PackageInfo packageInfo = application.packageInfo();
final HttpUrl.Builder url = Constants.VERSION_URL.newBuilder();
url.addEncodedQueryParameter("package", packageInfo.packageName);
final String installerPackageName = Installer.installerPackageName(application);
if (installerPackageName != null)
url.addEncodedQueryParameter("installer", installerPackageName);
url.addQueryParameter("sdk", Integer.toString(Build.VERSION.SDK_INT));
url.addQueryParameter("current", Integer.toString(packageInfo.versionCode));
final HttpUrl versionUrl = url.build();
AsyncTask.execute(() -> {
try {
log.debug("querying \"{}\"...", versionUrl);
final Request.Builder request = new Request.Builder();
request.url(versionUrl);
final Headers.Builder headers = new Headers.Builder();
headers.add("Accept-Charset", "utf-8");
final String userAgent = application.httpUserAgent();
if (userAgent != null)
headers.add("User-Agent", userAgent);
request.headers(headers.build());
final Builder httpClientBuilder = Constants.HTTP_CLIENT.newBuilder();
httpClientBuilder.connectionSpecs(Collections.singletonList(ConnectionSpec.RESTRICTED_TLS));
final Call call = httpClientBuilder.build().newCall(request.build());
final Response response = call.execute();
if (response.isSuccessful()) {
// Maybe show timeskew alert.
final Date serverDate = response.headers().getDate("Date");
if (serverDate != null) {
final long diffMinutes = Math.abs((System.currentTimeMillis() - serverDate.getTime()) / DateUtils.MINUTE_IN_MILLIS);
if (diffMinutes >= 60) {
log.info("according to \"" + versionUrl + "\", system clock is off by " + diffMinutes + " minutes");
viewModel.showTimeskewAlertDialog.postValue(new Event<>(diffMinutes));
return;
}
}
// Read properties from server.
final Map<String, String> properties = new HashMap<>();
try (final BufferedReader reader = new BufferedReader(response.body().charStream())) {
while (true) {
final String line = reader.readLine();
if (line == null)
break;
if (line.charAt(0) == '#')
continue;
final Splitter splitter = Splitter.on('=').trimResults();
final Iterator<String> split = splitter.split(line).iterator();
if (!split.hasNext())
continue;
final String key = split.next();
if (!split.hasNext()) {
properties.put(null, key);
continue;
}
final String value = split.next();
if (!split.hasNext()) {
properties.put(key.toLowerCase(Locale.US), value);
continue;
}
log.info("Ignoring line: {}", line);
}
}
// Maybe show version alert.
String versionKey = null;
String version = null;
if (installer != null) {
versionKey = "version." + installer.name().toLowerCase(Locale.US);
version = properties.get(versionKey);
}
if (version == null) {
versionKey = "version";
version = properties.get(versionKey);
}
if (version != null) {
log.info("according to \"{}\", strongly recommended minimum app {} is \"{}\"", versionUrl, versionKey, version);
final Integer recommendedVersionCode = Ints.tryParse(version);
if (recommendedVersionCode != null) {
if (recommendedVersionCode > application.packageInfo().versionCode) {
viewModel.showVersionAlertDialog.postValue(Event.simple());
return;
}
}
}
// Maybe show insecure device alert.
if (Build.VERSION.SECURITY_PATCH.compareToIgnoreCase(Constants.SECURITY_PATCH_INSECURE_BELOW) < 0) {
viewModel.showInsecureDeviceAlertDialog.postValue(new Event<>(Constants.SECURITY_PATCH_INSECURE_BELOW));
return;
}
// Maybe show insecure bluetooth alert.
final String minSecurityPatchLevel = properties.get("min.security_patch.bluetooth");
if (minSecurityPatchLevel != null) {
log.info("according to \"{}\", minimum security patch level for bluetooth is {}", versionUrl, minSecurityPatchLevel);
if (Build.VERSION.SECURITY_PATCH.compareTo(minSecurityPatchLevel) < 0) {
final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter != null && BluetoothAdapter.getDefaultAdapter().isEnabled()) {
viewModel.showInsecureBluetoothAlertDialog.postValue(new Event<>(minSecurityPatchLevel));
return;
}
}
}
// Maybe show low storage alert.
final Intent stickyIntent = activity.registerReceiver(null, new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW));
if (stickyIntent != null) {
viewModel.showLowStorageAlertDialog.postValue(Event.simple());
return;
}
// Maybe show too much balance alert.
if (Constants.NETWORK_PARAMETERS.getId().equals(MainNetParams.ID_MAINNET)) {
final Coin balance = application.getWallet().getBalance();
if (balance.isGreaterThan(Constants.TOO_MUCH_BALANCE_THRESHOLD)) {
viewModel.showTooMuchBalanceAlertDialog.postValue(Event.simple());
return;
}
}
log.info("all good, no alert dialog shown");
}
} catch (final Exception x) {
if (x instanceof UnknownHostException || x instanceof SocketException || x instanceof SocketTimeoutException) {
// swallow
log.debug("problem reading", x);
} else {
CrashReporter.saveBackgroundTrace(new RuntimeException(versionUrl.toString(), x), application.packageInfo());
log.warn("problem parsing", x);
}
}
});
}
use of okhttp3.logging.HttpLoggingInterceptor.Level in project EhViewer by seven332.
the class CookieRepositoryTest method testPersistent.
@Test
public void testPersistent() {
Context app = RuntimeEnvironment.application;
HttpUrl urlEh = HttpUrl.parse("http://www.ehviewer.com/");
Cookie cookieEh1 = new Cookie.Builder().name("user").value("1234567890").domain("ehviewer.com").path("/").build();
Cookie cookieEh2 = new Cookie.Builder().name("level").value("999").domain("www.ehviewer.com").path("/").expiresAt(System.currentTimeMillis() + 100000).build();
Cookie cookieEh3 = new Cookie.Builder().name("speed").value("10").domain("www.ehviewer.com").path("/").expiresAt(System.currentTimeMillis() + 100000).build();
HttpUrl urlNMB = HttpUrl.parse("http://h.nimingban.com/");
Cookie cookieNMB = new Cookie.Builder().name("hash").value("0987654321").domain("nimingban.com").expiresAt(System.currentTimeMillis() + 100000).path("/").build();
CookieRepository repository = new CookieRepository(app, "cookie.db");
repository.saveFromResponse(urlEh, Arrays.asList(cookieEh1, cookieEh2, cookieEh3));
repository.saveFromResponse(urlNMB, Collections.singletonList(cookieNMB));
Map<String, CookieSet> map = Reflect.on(repository).field("map").get();
assertEquals(3, map.size());
equals(map.get("ehviewer.com"), Collections.singletonList(cookieEh1));
equals(map.get("www.ehviewer.com"), Arrays.asList(cookieEh2, cookieEh3));
equals(map.get("nimingban.com"), Collections.singletonList(cookieNMB));
repository.close();
repository = new CookieRepository(app, "cookie.db");
map = Reflect.on(repository).field("map").get();
assertEquals(2, map.size());
equals(map.get("www.ehviewer.com"), Arrays.asList(cookieEh2, cookieEh3));
equals(map.get("nimingban.com"), Collections.singletonList(cookieNMB));
repository.close();
}
use of okhttp3.logging.HttpLoggingInterceptor.Level in project EhViewer by seven332.
the class CookieRepositoryTest method testUpdate.
@Test
public void testUpdate() {
Context app = RuntimeEnvironment.application;
HttpUrl urlEh = HttpUrl.parse("http://www.ehviewer.com/");
Cookie cookieEh1 = new Cookie.Builder().name("level").value("999").domain("www.ehviewer.com").path("/").expiresAt(System.currentTimeMillis() + 100000).build();
Cookie cookieEh2 = new Cookie.Builder().name("level").value("0").domain("www.ehviewer.com").path("/").expiresAt(System.currentTimeMillis() + 100000).build();
CookieRepository repository = new CookieRepository(app, "cookie.db");
repository.saveFromResponse(urlEh, Collections.singletonList(cookieEh1));
repository.saveFromResponse(urlEh, Collections.singletonList(cookieEh2));
Map<String, CookieSet> map = Reflect.on(repository).field("map").get();
assertEquals(1, map.size());
equals(map.get("www.ehviewer.com"), Collections.singletonList(cookieEh2));
repository.close();
repository = new CookieRepository(app, "cookie.db");
map = Reflect.on(repository).field("map").get();
assertEquals(1, map.size());
equals(map.get("www.ehviewer.com"), Collections.singletonList(cookieEh2));
repository.close();
}
Aggregations