private URLBuilder url(String path) { return new URLBuilder(serverUrl).addPath(path); }
public static String buildUrl(String baseUrl, String... pathElements) { final URLBuilder url = new URLBuilder(baseUrl); for (String element : pathElements) { url.addPath(element); } return url.toString(); }
private URI buildUrl(String path) { return new URLBuilder(serverUrl).addPath(path).toUri(); }
private void init(String serverUrl, String keyId, SigningKey signingKey, SignatureVerificationKey signatureVerificationKey, int timeout) { this.serverUrl = serverUrl; // Create HTTP Client with REST security interceptor final HCInterceptor hcInterceptor = new HCInterceptor(new JCECryptoEngine(), null); HttpClientBuilder httpClientBuilder = hcInterceptor.createClientBuilder(); RequestConfig.Builder requestBuilder = RequestConfig.custom().setConnectTimeout(timeout) .setConnectionRequestTimeout(timeout).setSocketTimeout(timeout); httpClientBuilder.setDefaultRequestConfig(requestBuilder.build()); BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider(); // This is used to used to adjust http timestamps in case client has the wrong time final TimeAsHttpContentTimeSync timeSync = new TimeAsHttpContentTimeSync(new URLBuilder(serverUrl).addPath("/public/time").toString()); credentialsProvider.setCredentials(ANY, new RestAuthCredential(keyId, signingKey, signatureVerificationKey, DigestAlgorithm.SHA256, timeSync)); httpClient = httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider).build(); }