@Override public AuthData generateAuthData(String callbackBaseUrl, String authCode, String id, AuthData initialAuthData, String extra) { Preconditions.checkArgument( Strings.isNullOrEmpty(extra), "Extra data not expected for OAuth flow"); Preconditions.checkArgument(initialAuthData == null, "Initial auth data not expected for " + config.getServiceName()); Map<String, String> params = new LinkedHashMap<>(); params.put("client_id", clientId); params.put("client_secret", clientSecret); params.put("grant_type", "authorization_code"); params.put("redirect_uri", callbackBaseUrl); params.put("code", authCode); HttpContent content = new UrlEncodedContent(params); try { OAuth2TokenResponse tokenResponse = OAuthUtils .makePostRequest(httpTransport, config.getTokenUrl(), content, OAuth2TokenResponse.class); return new TokensAndUrlAuthData( tokenResponse.getAccessToken(), tokenResponse.getRefreshToken(), config.getTokenUrl() ); } catch (IOException e) { throw new RuntimeException("Error getting token", e); // TODO } }
private String extractPayload(HttpHeaders headers, @Nullable HttpContent content) { StringBuilder messageBuilder = new StringBuilder(); if (headers != null) { appendMapAsString(messageBuilder, headers); } if (content != null) { messageBuilder.append(String.format("%nContent:%n")); if (content instanceof UrlEncodedContent) { UrlEncodedContent encodedContent = (UrlEncodedContent) content; appendMapAsString(messageBuilder, Data.mapOf(encodedContent.getData())); } else if (content != null) { ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); try { content.writeTo(byteStream); messageBuilder.append(byteStream.toString(StandardCharsets.UTF_8.name())); } catch (IOException e) { messageBuilder.append("Unable to read request content due to exception: " + e); } } } return messageBuilder.toString(); }
private String extractPayload(HttpHeaders headers, @Nullable HttpContent content) { StringBuilder messageBuilder = new StringBuilder(); if (headers != null) { appendMapAsString(messageBuilder, headers); } if (content != null) { messageBuilder.append(String.format("%nContent:%n")); if (content instanceof UrlEncodedContent) { UrlEncodedContent encodedContent = (UrlEncodedContent) content; appendMapAsString(messageBuilder, Data.mapOf(encodedContent.getData())); } else if (content != null) { ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); try { content.writeTo(byteStream); messageBuilder.append(byteStream.toString(StandardCharsets.UTF_8.name())); } catch (IOException e) { messageBuilder.append("Unable to read request content due to exception: " + e); } } } return messageBuilder.toString(); }
/** Posts a new status for the user, initially marked as private.**/ public void postStatus(String content, String idempotencyKey) throws IOException { ImmutableMap<String, String> formParams = ImmutableMap.of( "status", content, // Default everything to private to avoid a privacy incident "visibility", "private" ); UrlEncodedContent urlEncodedContent = new UrlEncodedContent(formParams); HttpRequest postRequest = TRANSPORT.createRequestFactory() .buildPostRequest( new GenericUrl(baseUrl + POST_URL), urlEncodedContent) .setThrowExceptionOnExecuteError(false); HttpHeaders headers = new HttpHeaders(); headers.setAuthorization("Bearer " + accessToken); if (!Strings.isNullOrEmpty(idempotencyKey)) { // This prevents the same post from being posted twice in the case of network errors headers.set("Idempotency-Key", idempotencyKey); } postRequest.setHeaders(headers); HttpResponse response = postRequest.execute(); validateResponse(postRequest, response, 200); }
private static String getGoogleIdToken(String jwt) throws Exception { final GenericData tokenRequest = new GenericData().set("grant_type", JWT_BEARER_TOKEN_GRANT_TYPE).set("assertion", jwt); final UrlEncodedContent content = new UrlEncodedContent(tokenRequest); final HttpRequestFactory requestFactory = httpTransport.createRequestFactory(); final HttpRequest request = requestFactory .buildPostRequest(new GenericUrl(OAUTH_TOKEN_URI), content) .setParser(new JsonObjectParser(JacksonFactory.getDefaultInstance())); HttpResponse response; String idToken = null; response = request.execute(); GenericData responseData = response.parseAs(GenericData.class); idToken = (String) responseData.get("id_token"); return idToken; }
@Override public HttpContent getHttpContent() { Map<String, String> data = Maps.newHashMap(); data.put(REPORT_XML_KEY, reportDefinitionXml); return new UrlEncodedContent(data); } }
@Override public HttpContent getHttpContent() { Map<String, String> data = Maps.newHashMap(); data.put(REPORT_XML_KEY, reportDefinitionXml); return new UrlEncodedContent(data); } }
@Override public HttpContent getHttpContent() { Map<String, String> data = Maps.newHashMap(); data.put(REPORT_QUERY_KEY, reportQuery); data.put(FORMAT_KEY, format); return new UrlEncodedContent(data); } }
@Override public HttpContent getHttpContent() { Map<String, String> data = Maps.newHashMap(); data.put(REPORT_QUERY_KEY, reportQuery); data.put(FORMAT_KEY, format); return new UrlEncodedContent(data); } }
public void execute(String webHookUrl, Map<String, Object> payload) throws IOException { String jsonEncodedMessage = new Gson().toJson(payload); HashMap<Object, Object> payloadToSend = Maps.newHashMap(); payloadToSend.put("payload", jsonEncodedMessage); requestFactory.buildPostRequest(new GenericUrl(webHookUrl), new UrlEncodedContent(payloadToSend)) .execute(); } }
public void execute(String webHookUrl, Map<String, Object> payload) throws IOException { String jsonEncodedMessage = new Gson().toJson(payload); HashMap<Object, Object> payloadToSend = Maps.newHashMap(); payloadToSend.put("payload", jsonEncodedMessage); requestFactory.buildPostRequest(new GenericUrl(webHookUrl), new UrlEncodedContent(payloadToSend)) .execute(); } }
public String postEncodedEntry (String url, Map<String, String> params, boolean needAccessToken) throws DoubanException, IOException { UrlEncodedContent content = new UrlEncodedContent(params); HttpRequest method = requestFactory.buildPostRequest(new GenericUrl(url), content); return httpRequest(method, needAccessToken).parseAsString(); }
HttpRequest httpRequest = requestFactory.buildPostRequest( new GenericUrl("https://www.google.com/cloudprint/submit"), new UrlEncodedContent(params) );
data.put("grant_type", "refresh_token"); data.put("refresh_token", refreshToken); HttpContent content = new UrlEncodedContent(data);
data.put("username", username); data.put("password", password); HttpContent content = new UrlEncodedContent(data);
public String postMultipartEntry (String url, Map<String, String> params, boolean needAccessToken) throws DoubanException, IOException { UrlEncodedContent uec = new UrlEncodedContent(params); MultipartRelatedContent content = new MultipartRelatedContent(uec); HttpRequest method = requestFactory.buildPostRequest(new GenericUrl(url), content); return httpRequest(method, needAccessToken).parseAsString(); }
data.set("delay", Options.override_delay); urlEncodedContent = new UrlEncodedContent(data); } else { urlEncodedContent = new UrlEncodedContent(data);
/** * Clears all data in the Datastore. * * @throws LocalDevelopmentDatastoreException */ public void clear() throws LocalDevelopmentDatastoreException { HttpRequestFactory client = remoteRpc.getHttpRequestFactory(); try { Map<String, String> params = new HashMap<String, String>(); params.put("action", "Clear Datastore"); UrlEncodedContent content = new UrlEncodedContent(params); GenericUrl url = new GenericUrl(host + "/_ah/admin/datastore"); HttpResponse httpResponse = client.buildPostRequest(url, content).execute(); if (!httpResponse.isSuccessStatusCode()) { throw new LocalDevelopmentDatastoreException( "Clear Datastore returned http status " + httpResponse.getStatusCode()); } } catch (IOException e) { throw new LocalDevelopmentDatastoreException( "Exception trying to clear the dev datastore", e); } }
/** * Clears all data in the Datastore. * * @throws LocalDevelopmentDatastoreException */ public void clear() throws LocalDevelopmentDatastoreException { HttpRequestFactory client = remoteRpc.getHttpRequestFactory(); try { Map<String, String> params = new HashMap<String, String>(); params.put("action", "Clear Datastore"); UrlEncodedContent content = new UrlEncodedContent(params); GenericUrl url = new GenericUrl(host + "/_ah/admin/datastore"); HttpResponse httpResponse = client.buildPostRequest(url, content).execute(); if (!httpResponse.isSuccessStatusCode()) { throw new LocalDevelopmentDatastoreException( "Clear Datastore returned http status " + httpResponse.getStatusCode()); } } catch (IOException e) { throw new LocalDevelopmentDatastoreException( "Exception trying to clear the dev datastore", e); } }
void stopDatastoreInternal() throws LocalDevelopmentDatastoreException { // No need to kill the process we started, this function will take care of it. HttpRequestFactory client = remoteRpc.getHttpRequestFactory(); Map<String, String> params = new HashMap<String, String>(); UrlEncodedContent content = new UrlEncodedContent(params); GenericUrl url = new GenericUrl(host + "/_ah/admin/quit"); try { HttpResponse httpResponse = client.buildPostRequest(url, content).execute(); if (!httpResponse.isSuccessStatusCode()) { throw new LocalDevelopmentDatastoreException( "Request to shutdown local datastore returned http error code " + httpResponse.getStatusCode()); } } catch (IOException e) { throw new LocalDevelopmentDatastoreException( "Exception trying to stop the dev datastore", e); } }