List of usage examples for io.vertx.core.http HttpClient get
HttpClientRequest get(String requestURI);
From source file:io.gravitee.resource.oauth2.am.OAuth2AMResource.java
License:Apache License
@Override public void userInfo(String accessToken, Handler<UserInfoResponse> responseHandler) { HttpClient httpClient = httpClients.computeIfAbsent(Vertx.currentContext(), context -> vertx.createHttpClient(httpClientOptions)); logger.debug("Get userinfo from {}", userInfoEndpointURI); HttpClientRequest request = httpClient.get(userInfoEndpointURI); request.headers().add(HttpHeaders.AUTHORIZATION, AUTHORIZATION_HEADER_BEARER_SCHEME + accessToken); request.headers().add(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON); request.handler(response -> response.bodyHandler(buffer -> { logger.debug("Userinfo endpoint returns a response with a {} status code", response.statusCode()); if (response.statusCode() == HttpStatusCode.OK_200) { responseHandler.handle(new UserInfoResponse(true, buffer.toString())); } else {/* ww w . ja va 2 s . c o m*/ responseHandler.handle(new UserInfoResponse(false, buffer.toString())); } })); request.exceptionHandler(event -> { logger.error("An error occurs while getting userinfo from access_token", event); responseHandler.handle(new UserInfoResponse(false, event.getMessage())); }); request.end(); }