private void overrideRequestHeaders(HttpRequest<Buffer> request, HttpFormsSettings metadata) { if (metadata.getAdditionalHeaders() != null) { metadata.getAdditionalHeaders().forEach(entry -> { request.putHeader(entry.getKey(), entry.getValue().toString()); }); } }
private void overrideRequestHeaders(HttpRequest<Buffer> request, HttpDataSourceSettings metadata) { if (metadata.getAdditionalHeaders() != null) { metadata.getAdditionalHeaders().forEach(entry -> { request.putHeader(entry.getKey(), entry.getValue().toString()); }); } }
private void overrideRequestHeaders(HttpRequest<Buffer> request, ServiceSettings metadata) { if (metadata.getAdditionalHeaders() != null) { metadata.getAdditionalHeaders().forEach(entry -> { request.putHeader(entry.getKey(), entry.getValue().toString()); }); } }
/** * Perform an HTTP search query * @param indexes indexes names. If null search on all indexes * @param type document type separated by comma. If null search on all types * @param query json body query * @return elasticsearch response */ public Single<SearchResponse> search(final String indexes, final String type, final String query) { // index can be null _search on all index final StringBuilder url = new StringBuilder() .append('/') .append(indexes); if (type != null) { url.append('/').append(type); } url.append(URL_SEARCH); return httpClient .post(url.toString()) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON) .rxSendBuffer(Buffer.buffer(query)) .map(response -> { if (response.statusCode() != HttpStatusCode.OK_200) { logger.error("Unable to search: url[{}] status[{}] query[{}] response[{}]", url.toString(), response.statusCode(), query, response.body()); throw new ElasticsearchException("Unable to search"); } return mapper.readValue(response.bodyAsString(), SearchResponse.class); }); }
@Override public Single<BulkResponse> bulk(final List<String> data) { if (data != null && !data.isEmpty()) { String content = data.stream().collect(Collectors.joining()); return httpClient .post(URL_BULK) .putHeader(HttpHeaders.CONTENT_TYPE, "application/x-ndjson") .rxSendBuffer(Buffer.buffer(content)) .map(response -> { if (response.statusCode() != HttpStatusCode.OK_200) { logger.error("Unable to bulk index data: status[{}] data[{}] response[{}]", response.statusCode(), content, response.body()); throw new ElasticsearchException("Unable to bulk index data"); } return mapper.readValue(response.bodyAsString(), BulkResponse.class); }); } return Single.never(); }
private Maybe<String> authenticate(Authentication authentication) { // prepare body request parameters List<NameValuePair> urlParameters = new ArrayList<>(); urlParameters.add(new BasicNameValuePair(CLIENT_ID, configuration.getClientId())); urlParameters.add(new BasicNameValuePair(CLIENT_SECRET, configuration.getClientSecret())); urlParameters.add(new BasicNameValuePair(REDIRECT_URI, (String) authentication.getAdditionalInformation().get(REDIRECT_URI))); urlParameters.add(new BasicNameValuePair(CODE, (String) authentication.getCredentials())); urlParameters.add(new BasicNameValuePair(GRANT_TYPE, "authorization_code")); String bodyRequest = URLEncodedUtils.format(urlParameters); return client.postAbs(configuration.getAccessTokenUri()) .putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(bodyRequest.length())) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED) .rxSendBuffer(Buffer.buffer(bodyRequest)) .toMaybe() .map(httpResponse -> { if (httpResponse.statusCode() != 200) { throw new BadCredentialsException(httpResponse.statusMessage()); } return httpResponse.bodyAsJsonObject().getString("access_token"); }); }
private Maybe<String> authenticate(Authentication authentication) { // prepare body request parameters List<NameValuePair> urlParameters = new ArrayList<>(); urlParameters.add(new BasicNameValuePair(CLIENT_ID, configuration.getClientId())); urlParameters.add(new BasicNameValuePair(CLIENT_SECRET, configuration.getClientSecret())); urlParameters.add(new BasicNameValuePair(REDIRECT_URI, (String) authentication.getAdditionalInformation().get(REDIRECT_URI))); urlParameters.add(new BasicNameValuePair(CODE, (String) authentication.getCredentials())); urlParameters.add(new BasicNameValuePair(GRANT_TYPE, "authorization_code")); String bodyRequest = URLEncodedUtils.format(urlParameters); return client.postAbs(configuration.getAccessTokenUri()) .putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(bodyRequest.length())) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED) .rxSendBuffer(Buffer.buffer(bodyRequest)) .toMaybe() .map(httpResponse -> { if (httpResponse.statusCode() != 200) { throw new BadCredentialsException(httpResponse.statusMessage()); } return httpResponse.bodyAsJsonObject().getString("access_token"); }); }
.setUserAgent("vert-x3")); HttpResponse<JsonObject> response = await(webClient.post(443, "api.github.com", "/gists") .putHeader("Accept", "application/vnd.github.v3+json") .putHeader("Content-Type", "application/json") .putHeader("Authorization", "token "+token) .as(BodyCodec.jsonObject()) .rxSendJsonObject(gistPayload));
private Maybe<String> authenticate(Authentication authentication) { // prepare body request parameters List<NameValuePair> urlParameters = new ArrayList<>(); urlParameters.add(new BasicNameValuePair(CLIENT_ID, configuration.getClientId())); urlParameters.add(new BasicNameValuePair(CLIENT_SECRET, configuration.getClientSecret())); urlParameters.add(new BasicNameValuePair(REDIRECT_URI, (String) authentication.getAdditionalInformation().get(REDIRECT_URI))); urlParameters.add(new BasicNameValuePair(CODE, (String) authentication.getCredentials())); String bodyRequest = URLEncodedUtils.format(urlParameters); return client.postAbs(configuration.getAccessTokenUri()) .putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(bodyRequest.length())) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED) .rxSendBuffer(Buffer.buffer(bodyRequest)) .toMaybe() .map(httpResponse -> { if (httpResponse.statusCode() != 200) { throw new BadCredentialsException(httpResponse.statusMessage()); } Map<String, String> bodyResponse = URLEncodedUtils.format(httpResponse.bodyAsString()); return bodyResponse.get("access_token"); }); }
.setUserAgent("vert-x3")); HttpResponse<JsonObject> response = await(webClient.post(443, "api.github.com", "/gists") .putHeader("Accept", "application/vnd.github.v3+json") .putHeader("Content-Type", "application/json") .putHeader("Authorization", "token "+token) .as(BodyCodec.jsonObject()) .rxSendJsonObject(gistPayload));
private Maybe<String> authenticate(Authentication authentication) { // prepare body request parameters List<NameValuePair> urlParameters = new ArrayList<>(); urlParameters.add(new BasicNameValuePair(CLIENT_ID, configuration.getClientId())); urlParameters.add(new BasicNameValuePair(CLIENT_SECRET, configuration.getClientSecret())); urlParameters.add(new BasicNameValuePair(REDIRECT_URI, (String) authentication.getAdditionalInformation().get(REDIRECT_URI))); urlParameters.add(new BasicNameValuePair(CODE, (String) authentication.getCredentials())); String bodyRequest = URLEncodedUtils.format(urlParameters); return client.postAbs(configuration.getAccessTokenUri()) .putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(bodyRequest.length())) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED) .rxSendBuffer(Buffer.buffer(bodyRequest)) .toMaybe() .map(httpResponse -> { if (httpResponse.statusCode() != 200) { throw new BadCredentialsException(httpResponse.statusMessage()); } Map<String, String> bodyResponse = URLEncodedUtils.format(httpResponse.bodyAsString()); return bodyResponse.get("access_token"); }); }
@Override public Completable putPipeline(String pipelineName, String pipeline) { return httpClient .put(URL_INGEST + '/' + pipelineName) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON) .rxSendBuffer(Buffer.buffer(pipeline)) .flatMapCompletable(response -> { switch (response.statusCode()) { case HttpStatusCode.OK_200: return Completable.complete(); case HttpStatusCode.BAD_REQUEST_400: logger.warn("Unable to create ES pipeline: {}", pipelineName); break; default: logger.error("Unable to put pipeline: status[{}] pipeline[{}] response[{}]", response.statusCode(), pipeline, response.body()); break; } return Completable.error(new ElasticsearchException("Unable to create ES pipeline: " + pipelineName)); }); }
@Override public Completable putTemplate(String templateName, String template) { return httpClient .put(URL_TEMPLATE + '/' + templateName) .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON) .rxSendBuffer(Buffer.buffer(template)) .flatMapCompletable(response -> { if (response.statusCode() != HttpStatusCode.OK_200) { logger.error("Unable to put template mapping: status[{}] template[{}] response[{}]", response.statusCode(), template, response.body()); return Completable.error(new ElasticsearchException("Unable to put template mapping")); } return Completable.complete(); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "token " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "token " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
@Test @KnotxApplyConfiguration("io/knotx/server/test-server-csrf.json") public void whenDoPostSecureWithCSRF_expectOK( VertxTestContext context, Vertx vertx) { createPassThroughKnot(vertx, "test-splitter"); createPassThroughKnot(vertx, "test-assembler"); createSimpleKnot(vertx, "some-knot", "test", null); MultiMap body = MultiMap.caseInsensitiveMultiMap().add("field", "value"); WebClient client = WebClient.create(vertx); client.get(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html").send( ar -> { if (ar.succeeded()) { String token = getToken(ar.result().cookies()); client.post(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html") .putHeader(CSRFHandler.DEFAULT_HEADER_NAME, token) .putHeader(HttpHeaderNames.COOKIE.toString(), CSRFHandler.DEFAULT_COOKIE_NAME + "=" + token) .sendForm(body, res -> { if (res.succeeded()) { assertEquals(HttpResponseStatus.OK.code(), res.result().statusCode()); context.completeNow(); } else { context.failNow(ar.cause()); } }); } else { context.failNow(ar.cause()); } }); }