private <T> T makeGetRequest(String url, Optional<Map<String, String>> parameters, Class<T> clazz) throws IOException { HttpRequestFactory requestFactory = httpTransport.createRequestFactory(); HttpRequest getRequest = requestFactory .buildGetRequest(new GenericUrl(url + "?" + generateParamsString(parameters))); HttpResponse response = getRequest.execute(); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new IOException( "Bad status code: " + statusCode + " error: " + response.getStatusMessage()); } String result = CharStreams .toString(new InputStreamReader(response.getContent(), Charsets.UTF_8)); return objectMapper.readValue(result, clazz); }
private <T> T makeRequest(String url, Class<T> clazz, TokensAndUrlAuthData authData) throws IOException { HttpRequestFactory requestFactory = httpTransport.createRequestFactory(); HttpRequest getRequest = requestFactory.buildGetRequest( new GenericUrl(url + "?access_token=" + authData.getAccessToken())); HttpResponse response = getRequest.execute(); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new IOException( "Bad status code: " + statusCode + " error: " + response.getStatusMessage()); } String result = CharStreams.toString(new InputStreamReader(response.getContent(), Charsets.UTF_8)); return objectMapper.readValue(result, clazz); } }
private String getToken(String frob) throws IOException { URL signedUrl = signatureGenerator.getSignature( GET_TOKEN_URL, ImmutableMap.of("frob", frob, "method", GET_TOKEN_METHOD)); HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory(); HttpRequest getRequest = requestFactory.buildGetRequest(new GenericUrl(signedUrl)); HttpResponse response = getRequest.execute(); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new IOException( "Bad status code: " + statusCode + " error: " + response.getStatusMessage()); } AuthElement authElement = xmlMapper.readValue(response.getContent(), AuthElement.class); Preconditions.checkState(authElement.stat.equals("ok"), "state must be ok: %s", authElement); Preconditions.checkState( !Strings.isNullOrEmpty(authElement.auth.token), "token must not be empty", authElement); return authElement.auth.token; } }
private String requestRaw(String path) throws IOException { HttpRequest getRequest = TRANSPORT.createRequestFactory().buildGetRequest( new GenericUrl(baseUrl + path)); HttpHeaders headers = new HttpHeaders(); headers.setAuthorization("Bearer " + accessToken); getRequest.setHeaders(headers); HttpResponse response = getRequest.execute(); validateResponse(getRequest, response, 200); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); IOUtils.copy(response.getContent(), byteArrayOutputStream, true); return byteArrayOutputStream.toString(); }
private <T extends RememberTheMilkResponse> T makeRequest( Map<String, String> parameters, Class<T> dataClass) throws IOException { URL signedUrl = signatureGenerator.getSignature(BASE_URL, parameters); HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory(); HttpRequest getRequest = requestFactory.buildGetRequest(new GenericUrl(signedUrl)); HttpResponse response = getRequest.execute(); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new IOException( "Bad status code: " + statusCode + " error: " + response.getStatusMessage()); } T parsedResponse = xmlMapper.readValue(response.getContent(), dataClass); if (parsedResponse.error != null) { throw new IOException( "Error making call to " + signedUrl + " error: " + parsedResponse.error); } return parsedResponse; }
/** * Parses the contents of a URL to produce an RDF model. */ public Model getModel(String url) throws IOException { HttpRequestFactory factory = TRANSPORT.createRequestFactory(); HttpRequest rootGetRequest = factory.buildGetRequest( new GenericUrl(url)); HttpHeaders headers = new HttpHeaders(); headers.setCookie(authCookie); headers.setAccept("text/turtle"); rootGetRequest.setHeaders(headers); HttpResponse response = rootGetRequest.execute(); if (response.getStatusCode() != 200) { throw new IOException("Unexpected return code: " + response.getStatusCode() + "\nMessage:\n" + response.getStatusMessage()); } StringWriter writer = new StringWriter(); IOUtils.copy(response.getContent(), writer, "UTF-8"); String fixedString = fixProblematicPeriods(writer.toString()); Model defaultModel = ModelFactory.createDefaultModel(); return defaultModel.read( new StringReader(fixedString), url, "TURTLE"); }
private HttpResponse createHttpResponseWithHeader(final Multimap<String, String> headers) throws Exception { HttpTransport mockHttpTransport = new MockHttpTransport() { @Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { return new MockLowLevelHttpRequest() { @Override public LowLevelHttpResponse execute() throws IOException { MockLowLevelHttpResponse response = new MockLowLevelHttpResponse(); for (Map.Entry<String, String> entry : headers.entries()) { response.addHeader(entry.getKey(), entry.getValue()); } return response; } }; } }; HttpRequest request = mockHttpTransport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); return request.execute(); } }
private static String getAppEngineProjectIdFromMetadataServer() throws IOException { String metadata = "http://metadata.google.internal"; String projectIdURL = "/computeMetadata/v1/project/project-id"; GenericUrl url = new GenericUrl(metadata + projectIdURL); HttpTransport netHttpTransport = new NetHttpTransport(); HttpRequestFactory requestFactory = netHttpTransport.createRequestFactory(); HttpRequest request = requestFactory .buildGetRequest(url) .setConnectTimeout(500) .setReadTimeout(500) .setHeaders(new HttpHeaders().set("Metadata-Flavor", "Google")); HttpResponse response = request.execute(); return headerContainsMetadataFlavor(response) ? response.parseAsString() : null; }
String STORAGE_SCOPE = "https://www.googleapis.com/auth/devstorage.read_write"; JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); Log.d("testing", "checking if I can create a credential"); httpTransport = AndroidHttp.newCompatibleTransport(); KeyStore keystore = KeyStore.getInstance("PKCS12"); keystore.load(resources_.openRawResource(R.raw.gcs_privatekey), "password".toCharArray()); PrivateKey key = (PrivateKey) keystore.getKey("privatekey", "password".toCharArray()); GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(JSON_FACTORY) .setServiceAccountPrivateKey(key) .setServiceAccountId(SERVICE_ACCOUNT_EMAIL) .setServiceAccountScopes(Collections.singleton(STORAGE_SCOPE)) // .setServiceAccountUser(SERVICE_ACCOUNT_EMAIL) // .setClientSecrets(CLIENT_ID, CLIENT_SECRET) .build(); credential.refreshToken(); String URI = "https://storage.googleapis.com/" + BUCKET_NAME; HttpRequestFactory requestFactory = httpTransport.createRequestFactory(credential); GenericUrl url = new GenericUrl(URI); HttpRequest request = requestFactory.buildGetRequest(url); HttpResponse response = request.execute(); String content = response.parseAsString(); Log.d("testing", "response content is: " + content); new Storage.Builder(httpTransport, JSON_FACTORY, credential) .setApplicationName("appname").build();
/** * Fetches the listing of the given bucket. * * @param bucketName the name of the bucket to list. * * @return the raw XML containing the listing of the bucket. * @throws IOException if there's an error communicating with Cloud Storage. * @throws GeneralSecurityException for errors creating https connection. */ public static String listBucket(final String bucketName) throws IOException, GeneralSecurityException { //[START snippet] // Build an account credential. GoogleCredential credential = GoogleCredential.getApplicationDefault() .createScoped(Collections.singleton(STORAGE_SCOPE)); // Set up and execute a Google Cloud Storage request. String uri = "https://storage.googleapis.com/" + URLEncoder.encode(bucketName, "UTF-8"); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); HttpRequestFactory requestFactory = httpTransport.createRequestFactory( credential); GenericUrl url = new GenericUrl(uri); HttpRequest request = requestFactory.buildGetRequest(url); HttpResponse response = request.execute(); String content = response.parseAsString(); //[END snippet] return content; }
public static void readToFile(String url,File target) throws IOException { HttpRequest buildGetRequest; buildGetRequest = createRequestFactory.buildGetRequest(new GenericUrl(url)); InputStream str=buildGetRequest.execute().getContent(); FileUtils.copyInputStreamToFile(str, target); }
public QNodeStatus overview() throws IOException { HttpRequest request = requestFactory.buildGetRequest(new GenericUrl( qNodes[(int) (Math.random() * qNodes.length)] + "/api/overview")); HttpResponse resp = request.execute(); try { return JSONSerDe.deSer(asString(resp.getContent()), QNodeStatus.class); } catch (JSONSerDeException e) { throw new IOException(e); } }
public <T extends IDoubanObject> T getResponse(String url, List<NameValuePair> params, Class<T> responseType, boolean needAccessToken) throws DoubanException, IOException { if (params != null && params.size() > 0) { String encodedParams = encodeParameters(params); url = url + "?" + encodedParams; } HttpRequest method = requestFactory.buildGetRequest(new GenericUrl(url)); return httpRequest(method, needAccessToken).parseAs(responseType); }
public QNodeStatus overview() throws IOException { HttpRequest request = requestFactory.buildGetRequest(new GenericUrl( qNodes[(int) (Math.random() * qNodes.length)] + "/api/overview")); HttpResponse resp = request.execute(); try { return JSONSerDe.deSer(asString(resp.getContent()), QNodeStatus.class); } catch(JSONSerDeException e) { throw new IOException(e); } }
public static String readString(String url) throws IOException { HttpRequest buildGetRequest; buildGetRequest = createRequestFactory.buildGetRequest(new GenericUrl(url)); String str=buildGetRequest.execute().parseAsString(); return str; }
public <T> T getResponseInJsonArray(String url, List<NameValuePair> params, Class<T> responseType, boolean needAccessToken) throws DoubanException, IOException { if (params != null && params.size() > 0) { String encodedParams = encodeParameters(params); url = url + "?" + encodedParams; } HttpRequest method = requestFactory.buildGetRequest(new GenericUrl(url)); method.setParser(new JsonObjectParser(new JacksonFactory())); return httpRequest(method, needAccessToken).parseAs(responseType); }
public <T extends IDoubanObject> T getResponseInJson(String url, List<NameValuePair> params, Class<T> responseType, boolean needAccessToken) throws DoubanException, IOException { if (params != null && params.size() > 0) { String encodedParams = encodeParameters(params); url = url + "?" + encodedParams; } HttpRequest method = requestFactory.buildGetRequest(new GenericUrl(url)); method.setParser(new JsonObjectParser(new JacksonFactory())); return httpRequest(method, needAccessToken).parseAs(responseType); }
@Override protected TokenResponse executeRefreshToken() throws IOException { GenericUrl tokenUrl = new GenericUrl(getTokenServerEncodedUrl()); HttpRequest request = getTransport().createRequestFactory().buildGetRequest(tokenUrl); request.setParser(new JsonObjectParser(getJsonFactory())); request.getHeaders().set("Metadata-Flavor", "Google"); return request.execute().parseAs(TokenResponse.class); }
@Override protected TokenResponse executeRefreshToken() throws IOException { HttpRequest request = getTransport() .createRequestFactory(getRequestInitializer()) .buildGetRequest(new GenericUrl(getTokenServerEncodedUrl())) .setParser(new JsonObjectParser(getJsonFactory())); request.getHeaders().set("Metadata-Flavor", "Google"); return request.execute().parseAs(TokenResponse.class); } }
@Test public void testNullResponse() throws IOException { testService.addNullResponse(); HttpResponse httpResponse = HTTP_REQUEST_FACTORY .buildGetRequest(new GenericUrl("http://google.com/pet/raptor?species=birb")) .execute(); assertNull(httpResponse.getContent()); }