use of okhttp3.OkHttpClient.Builder in project run-wallet-android by runplay.
the class RunIotaAPICore method postConstruct.
/**
* added header for IRI
*/
private void postConstruct() {
boolean USE_AUTH = false;
// if(host.contains(".runplay.com") || host.contains(".runpg.com"))
// USE_AUTH=true;
final String nodeUrl = protocol + "://" + host + ":" + port;
if (USE_AUTH) {
// Log.e("IRI-CONNECT","Using Auth OK");
String creds = Base64.encodeToString((uname + ":" + upassword).getBytes(), false);
final OkHttpClient.Builder builder = new OkHttpClient.Builder();
OkHttpClient client = builder.readTimeout(5000, TimeUnit.SECONDS).addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Request newRequest;
newRequest = request.newBuilder().addHeader(X_IOTA_API_VERSION_HEADER_NAME, X_IOTA_API_VERSION_HEADER_VALUE).addHeader("Authorization", "Basic " + creds).build();
return chain.proceed(newRequest);
}
}).connectTimeout(5000, TimeUnit.SECONDS).build();
// use client to create Retrofit service
final Retrofit retrofit = new Retrofit.Builder().baseUrl(nodeUrl).addConverterFactory(GsonConverterFactory.create()).client(client).build();
service = retrofit.create(IotaAPIService.class);
} else {
// Log.e("IRI-CONNECT","NOOTTTTT Using Auth");
final OkHttpClient client = new OkHttpClient.Builder().readTimeout(5000, TimeUnit.SECONDS).addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Request newRequest;
newRequest = request.newBuilder().addHeader(X_IOTA_API_VERSION_HEADER_NAME, X_IOTA_API_VERSION_HEADER_VALUE).build();
return chain.proceed(newRequest);
}
}).connectTimeout(5000, TimeUnit.SECONDS).build();
// use client to create Retrofit service
final Retrofit retrofit = new Retrofit.Builder().baseUrl(nodeUrl).addConverterFactory(GsonConverterFactory.create()).client(client).build();
service = retrofit.create(IotaAPIService.class);
}
// Create OkHttpBuilder
log.debug("Jota-API Java proxy pointing to node url: '{}'", nodeUrl);
}
use of okhttp3.OkHttpClient.Builder in project okhttp-OkGo by jeasonlzy.
the class CookieActivity method addCookie.
@OnClick(R.id.addCookie)
public void addCookie(View view) {
HttpUrl httpUrl = HttpUrl.parse(Urls.URL_METHOD);
Cookie.Builder builder = new Cookie.Builder();
Cookie cookie = builder.name("myCookieKey1").value("myCookieValue1").domain(httpUrl.host()).build();
CookieStore cookieStore = OkGo.getInstance().getCookieJar().getCookieStore();
cookieStore.saveCookie(httpUrl, cookie);
showToast("详细添加cookie的代码,请看demo的代码");
//
OkGo.post(Urls.URL_TEXT_UPLOAD).tag(//
this).execute(new StringDialogCallback(this) {
@Override
public void onSuccess(String s, Call call, Response response) {
handleResponse(s, call, response);
}
@Override
public void onError(Call call, Response response, Exception e) {
super.onError(call, response, e);
handleError(call, response);
}
});
}
use of okhttp3.OkHttpClient.Builder in project buck by facebook.
the class ThriftArtifactCache method fetchImpl.
@Override
public CacheResult fetchImpl(RuleKey ruleKey, LazyPath output, HttpArtifactCacheEvent.Finished.Builder eventBuilder) throws IOException {
BuckCacheFetchRequest fetchRequest = new BuckCacheFetchRequest();
com.facebook.buck.artifact_cache.thrift.RuleKey thriftRuleKey = new com.facebook.buck.artifact_cache.thrift.RuleKey();
thriftRuleKey.setHashString(ruleKey.getHashCode().toString());
fetchRequest.setRuleKey(thriftRuleKey);
fetchRequest.setRepository(repository);
fetchRequest.setScheduleType(scheduleType);
fetchRequest.setDistributedBuildModeEnabled(distributedBuildModeEnabled);
BuckCacheRequest cacheRequest = new BuckCacheRequest();
cacheRequest.setType(BuckCacheRequestType.FETCH);
cacheRequest.setFetchRequest(fetchRequest);
LOG.verbose("Will fetch key %s", thriftRuleKey);
final ThriftArtifactCacheProtocol.Request request = ThriftArtifactCacheProtocol.createRequest(PROTOCOL, cacheRequest);
Request.Builder builder = toOkHttpRequest(request);
try (HttpResponse httpResponse = fetchClient.makeRequest(hybridThriftEndpoint, builder)) {
if (httpResponse.statusCode() != 200) {
String message = String.format("Failed to fetch cache artifact with HTTP status code [%d:%s] " + " to url [%s] for rule key [%s].", httpResponse.statusCode(), httpResponse.statusMessage(), httpResponse.requestUrl(), ruleKey.toString());
LOG.error(message);
return CacheResult.error(name, message);
}
try (ThriftArtifactCacheProtocol.Response response = ThriftArtifactCacheProtocol.parseResponse(PROTOCOL, httpResponse.getBody())) {
eventBuilder.getFetchBuilder().setResponseSizeBytes(httpResponse.contentLength());
BuckCacheResponse cacheResponse = response.getThriftData();
if (!cacheResponse.isWasSuccessful()) {
LOG.warn("Request was unsuccessful: %s", cacheResponse.getErrorMessage());
return CacheResult.error(name, cacheResponse.getErrorMessage());
}
BuckCacheFetchResponse fetchResponse = cacheResponse.getFetchResponse();
if (LOG.isDebugEnabled()) {
LOG.debug("Debug info for cache fetch request: request=[%s] response=[%s]", ThriftUtil.thriftToDebugJson(cacheRequest), ThriftUtil.thriftToDebugJson(cacheResponse));
}
if (!fetchResponse.isArtifactExists()) {
LOG.verbose("Artifact did not exist.");
return CacheResult.miss();
}
LOG.verbose("Got artifact. Attempting to read payload.");
Path tmp = createTempFileForDownload();
ThriftArtifactCacheProtocol.Response.ReadPayloadInfo readResult;
try (OutputStream tmpFile = projectFilesystem.newFileOutputStream(tmp)) {
readResult = response.readPayload(tmpFile);
LOG.verbose("Successfully read payload: %d bytes.", readResult.getBytesRead());
}
ArtifactMetadata metadata = fetchResponse.getMetadata();
if (LOG.isVerboseEnabled()) {
LOG.verbose(String.format("Fetched artifact with rule key [%s] contains the following metadata: [%s]", ruleKey, ThriftUtil.thriftToDebugJson(metadata)));
}
eventBuilder.setTarget(Optional.ofNullable(metadata.getBuildTarget())).getFetchBuilder().setAssociatedRuleKeys(toImmutableSet(metadata.getRuleKeys())).setArtifactSizeBytes(readResult.getBytesRead());
if (!metadata.isSetArtifactPayloadMd5()) {
String msg = "Fetched artifact is missing the MD5 hash.";
LOG.warn(msg);
} else {
eventBuilder.getFetchBuilder().setArtifactContentHash(metadata.getArtifactPayloadMd5());
if (!readResult.getMd5Hash().equals(fetchResponse.getMetadata().getArtifactPayloadMd5())) {
String msg = String.format("The artifact fetched from cache is corrupted. ExpectedMD5=[%s] ActualMD5=[%s]", fetchResponse.getMetadata().getArtifactPayloadMd5(), readResult.getMd5Hash());
LOG.error(msg);
return CacheResult.error(name, msg);
}
}
// This makes sure we don't have 'half downloaded files' in the dir cache.
projectFilesystem.move(tmp, output.get(), StandardCopyOption.REPLACE_EXISTING);
return CacheResult.hit(name, ImmutableMap.copyOf(fetchResponse.getMetadata().getMetadata()), readResult.getBytesRead());
}
}
}
use of okhttp3.OkHttpClient.Builder in project buck by facebook.
the class ThriftArtifactCache method storeImpl.
@Override
protected void storeImpl(final ArtifactInfo info, final Path file, final HttpArtifactCacheEvent.Finished.Builder eventBuilder) throws IOException {
final ByteSource artifact = new ByteSource() {
@Override
public InputStream openStream() throws IOException {
return projectFilesystem.newFileInputStream(file);
}
};
BuckCacheStoreRequest storeRequest = new BuckCacheStoreRequest();
ArtifactMetadata artifactMetadata = infoToMetadata(info, artifact, repository, scheduleType, distributedBuildModeEnabled);
storeRequest.setMetadata(artifactMetadata);
PayloadInfo payloadInfo = new PayloadInfo();
long artifactSizeBytes = artifact.size();
payloadInfo.setSizeBytes(artifactSizeBytes);
BuckCacheRequest cacheRequest = new BuckCacheRequest();
cacheRequest.addToPayloads(payloadInfo);
cacheRequest.setType(BuckCacheRequestType.STORE);
cacheRequest.setStoreRequest(storeRequest);
if (LOG.isVerboseEnabled()) {
LOG.verbose(String.format("Storing artifact with metadata: [%s].", ThriftUtil.thriftToDebugJson(artifactMetadata)));
}
final ThriftArtifactCacheProtocol.Request request = ThriftArtifactCacheProtocol.createRequest(PROTOCOL, cacheRequest, artifact);
Request.Builder builder = toOkHttpRequest(request);
eventBuilder.getStoreBuilder().setRequestSizeBytes(request.getRequestLengthBytes());
try (HttpResponse httpResponse = storeClient.makeRequest(hybridThriftEndpoint, builder)) {
if (httpResponse.statusCode() != 200) {
throw new IOException(String.format("Failed to store cache artifact with HTTP status code [%d:%s] " + " to url [%s] for build target [%s] that has size [%d] bytes.", httpResponse.statusCode(), httpResponse.statusMessage(), httpResponse.requestUrl(), info.getBuildTarget().orElse(null), artifactSizeBytes));
}
try (ThriftArtifactCacheProtocol.Response response = ThriftArtifactCacheProtocol.parseResponse(PROTOCOL, httpResponse.getBody())) {
BuckCacheResponse cacheResponse = response.getThriftData();
if (!cacheResponse.isWasSuccessful()) {
reportFailure("Failed to store artifact with thriftErrorMessage=[%s] " + "url=[%s] artifactSizeBytes=[%d]", response.getThriftData().getErrorMessage(), httpResponse.requestUrl(), artifactSizeBytes);
}
eventBuilder.getStoreBuilder().setArtifactContentHash(storeRequest.getMetadata().artifactPayloadMd5);
eventBuilder.getStoreBuilder().setWasStoreSuccessful(cacheResponse.isWasSuccessful());
if (LOG.isDebugEnabled()) {
LOG.debug("Debug info for cache store request: artifactMetadata=[%s] response=[%s]", ThriftUtil.thriftToDebugJson(artifactMetadata), ThriftUtil.thriftToDebugJson(cacheResponse));
}
}
}
}
use of okhttp3.OkHttpClient.Builder in project buck by facebook.
the class ThriftArtifactCache method toOkHttpRequest.
private static Request.Builder toOkHttpRequest(final ThriftArtifactCacheProtocol.Request request) {
Request.Builder builder = new Request.Builder().addHeader(PROTOCOL_HEADER, PROTOCOL.toString().toLowerCase());
builder.post(new RequestBody() {
@Override
public MediaType contentType() {
return HYBRID_THRIFT_STREAM_CONTENT_TYPE;
}
@Override
public long contentLength() throws IOException {
return request.getRequestLengthBytes();
}
@Override
public void writeTo(BufferedSink bufferedSink) throws IOException {
request.writeAndClose(bufferedSink.outputStream());
}
});
return builder;
}
Aggregations