List of usage examples for org.springframework.http HttpHeaders set
@Override public void set(String headerName, @Nullable String headerValue)
From source file:org.cloudfoundry.identity.batch.integration.ServerRunning.java
public ResponseEntity<Void> postForRedirect(String path, HttpHeaders headers, MultiValueMap<String, String> params) { ResponseEntity<Void> exchange = postForResponse(path, headers, params); if (exchange.getStatusCode() != HttpStatus.FOUND) { throw new IllegalStateException( "Expected 302 but server returned status code " + exchange.getStatusCode()); }/* w w w . j a va2s. c om*/ if (exchange.getHeaders().containsKey("Set-Cookie")) { String cookie = exchange.getHeaders().getFirst("Set-Cookie"); headers.set("Cookie", cookie); } String location = exchange.getHeaders().getLocation().toString(); return client.exchange(location, HttpMethod.GET, new HttpEntity<Void>(null, headers), null); }
From source file:edu.mayo.cts2.framework.plugin.service.bioportal.rest.BioportalRestService.java
/** * Call bioportal.//from ww w . j a va2 s . com * * @param url the url * @return the string */ protected String callBioportal(String url) { log.info("Calling Bioportal REST: " + url); HttpHeaders headers = new HttpHeaders(); headers.set("Accept", "application/xml"); ResponseEntity<String> response; try { response = this.restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<Void>(headers), String.class); } catch (HttpStatusCodeException e) { if (e.getStatusCode().equals(HttpStatus.NOT_FOUND)) { throw e; } else { log.error("Error calling BioPortal REST Service", e); throw ExceptionFactory.createUnknownException("Error calling NCBO BioPortal: " + e.getMessage()); } } return response.getBody(); }
From source file:org.apigw.authserver.ServerRunning.java
public ResponseEntity<Void> postForRedirect(String path, HttpHeaders headers, MultiValueMap<String, String> params) { ResponseEntity<Void> exchange = postForStatus(path, headers, params); if (exchange.getStatusCode() != HttpStatus.FOUND) { throw new IllegalStateException( "Expected 302 but server returned status code " + exchange.getStatusCode()); }//from w w w . ja va 2 s. c om if (exchange.getHeaders().containsKey("Set-Cookie")) { String cookie = exchange.getHeaders().getFirst("Set-Cookie"); headers.set("Cookie", cookie); } String location = exchange.getHeaders().getLocation().toString(); return client.exchange(location, HttpMethod.GET, new HttpEntity<Void>(null, headers), Void.class); }
From source file:org.dspace.EDMExport.controller.homeController.java
/** * Mtodo para generar un objeto HttpEntity con un array de bytes a partir del contenido xml * //from w w w .j av a 2s. c o m * @param xml cadena con el contenido xml * @return objeto HttpEntity {@link HttpEntity} * @throws UnsupportedEncodingException */ private HttpEntity<byte[]> getHttpEntityFromXml(String xml, String format) throws UnsupportedEncodingException { byte[] EDMXmlBytes; EDMXmlBytes = xml.getBytes("UTF-8"); HttpHeaders header = new HttpHeaders(); header.setContentType(new MediaType("text", "xml", Charset.forName("UTF-8"))); header.set("Content-Disposition", "attachment; filename=" + format + "Xml.xml"); header.setContentLength(EDMXmlBytes.length); return new HttpEntity<byte[]>(EDMXmlBytes, header); }
From source file:org.openscience.cdk.app.DepictController.java
private HttpEntity<byte[]> makeResponse(byte[] bytes, String contentType) { HttpHeaders header = new HttpHeaders(); String type = contentType.substring(0, contentType.indexOf('/')); String subtype = contentType.substring(contentType.indexOf('/') + 1, contentType.length()); header.setContentType(new MediaType(type, subtype)); header.add("Access-Control-Allow-Origin", "*"); header.set(HttpHeaders.CACHE_CONTROL, "max-age=31536000"); header.setContentLength(bytes.length); return new HttpEntity<>(bytes, header); }
From source file:eu.freme.broker.eservices.ELink.java
@RequestMapping(value = "/e-link/templates/{templateid}", method = RequestMethod.GET) @Secured({ "ROLE_USER", "ROLE_ADMIN" }) public ResponseEntity<String> getTemplateById( @RequestHeader(value = "Accept", required = false) String acceptHeader, @PathVariable("templateid") long templateIdStr, // @RequestParam(value = "outformat", required=false) String // outformat, // @RequestParam(value = "o", required=false) String o @RequestParam Map<String, String> allParams) { try {//from w w w . j a va 2s .c o m // validateTemplateID(templateIdStr); // NOTE: outformat was defaulted to JSON before! Now it is TURTLE. NIFParameterSet nifParameters = this.normalizeNif(null, acceptHeader, null, allParams, true); HttpHeaders responseHeaders = new HttpHeaders(); // check read access Template template = templateDAO.findOneById(templateIdStr); String serialization; if (nifParameters.getOutformat().equals(RDFConstants.RDFSerialization.JSON)) { ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); serialization = ow.writeValueAsString(template); } else { serialization = rdfConversionService.serializeRDF(template.getRDF(), nifParameters.getOutformat()); } responseHeaders.set("Content-Type", nifParameters.getOutformat().contentType()); return new ResponseEntity<>(serialization, responseHeaders, HttpStatus.OK); } catch (AccessDeniedException ex) { logger.error(ex.getMessage(), ex); throw new eu.freme.broker.exception.AccessDeniedException(); } catch (BadRequestException ex) { logger.error(ex.getMessage(), ex); throw ex; } catch (OwnedResourceNotFoundException ex) { logger.error(ex.getMessage(), ex); throw new TemplateNotFoundException("Template not found. " + ex.getMessage()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); throw new InternalServerErrorException("Unknown problem. Please contact us."); } }
From source file:org.kurento.repository.test.RangeGetTests.java
@Test public void test() throws Exception { String id = "logo.png"; RepositoryItem item;/*from w w w.ja v a 2 s. c o m*/ try { item = getRepository().findRepositoryItemById(id); } catch (NoSuchElementException e) { item = getRepository().createRepositoryItem(id); uploadFile(new File("test-files/" + id), item); } RepositoryHttpPlayer player = item.createRepositoryHttpPlayer(); String url = player.getURL(); player.setAutoTerminationTimeout(100000); // Following sample // http://stackoverflow.com/questions/8293687/sample-http-range-request-session RestTemplate httpClient = getRestTemplate(); { HttpHeaders requestHeaders = new HttpHeaders(); MultiValueMap<String, String> postParameters = new LinkedMultiValueMap<String, String>(); HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>( postParameters, requestHeaders); ResponseEntity<byte[]> response = httpClient.exchange(url, HttpMethod.GET, requestEntity, byte[].class); System.out.println(response); assertTrue("The server doesn't accept ranges", response.getHeaders().containsKey("Accept-ranges")); assertTrue("The server doesn't accept ranges with bytes", response.getHeaders().get("Accept-ranges").contains("bytes")); } long fileLength = 0; { // Range: bytes=0- HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.set("Range", "bytes=0-"); MultiValueMap<String, String> postParameters = new LinkedMultiValueMap<String, String>(); HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>( postParameters, requestHeaders); ResponseEntity<byte[]> response = httpClient.exchange(url, HttpMethod.GET, requestEntity, byte[].class); System.out.println(response); assertEquals("The server doesn't respond with http status code 206 to a request with ranges", HttpStatus.PARTIAL_CONTENT, response.getStatusCode()); fileLength = Long.parseLong(response.getHeaders().get("Content-Length").get(0)); } { HttpHeaders requestHeaders = new HttpHeaders(); long firstByte = fileLength - 3000; long lastByte = fileLength - 1; long numBytes = lastByte - firstByte + 1; requestHeaders.set("Range", "bytes=" + firstByte + "-" + lastByte); MultiValueMap<String, String> postParameters = new LinkedMultiValueMap<String, String>(); HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>( postParameters, requestHeaders); ResponseEntity<byte[]> response = httpClient.exchange(url, HttpMethod.GET, requestEntity, byte[].class); System.out.println(response); assertEquals("The server doesn't respond with http status code 206 to a request with ranges", response.getStatusCode(), HttpStatus.PARTIAL_CONTENT); long responseContentLength = Long.parseLong(response.getHeaders().get("Content-Length").get(0)); assertEquals("The server doesn't send the requested bytes", numBytes, responseContentLength); assertEquals("The server doesn't send the requested bytes", responseContentLength, response.getBody().length); } }
From source file:org.cloudfoundry.identity.uaa.integration.AuthorizationCodeGrantIntegrationTests.java
@Test public void testSuccessfulAuthorizationCodeFlow() throws Exception { HttpHeaders headers = new HttpHeaders(); // TODO: should be able to handle just TEXT_HTML headers.setAccept(Arrays.asList(MediaType.TEXT_HTML, MediaType.ALL)); AuthorizationCodeResourceDetails resource = testAccounts.getDefaultAuthorizationCodeResource(); URI uri = serverRunning.buildUri("/oauth/authorize").queryParam("response_type", "code") .queryParam("state", "mystateid").queryParam("client_id", resource.getClientId()) .queryParam("redirect_uri", resource.getPreEstablishedRedirectUri()).build(); ResponseEntity<Void> result = serverRunning.getForResponse(uri.toString(), headers); assertEquals(HttpStatus.FOUND, result.getStatusCode()); String location = result.getHeaders().getLocation().toString(); if (result.getHeaders().containsKey("Set-Cookie")) { String cookie = result.getHeaders().getFirst("Set-Cookie"); headers.set("Cookie", cookie); }/*from w w w .j av a2 s .c o m*/ ResponseEntity<String> response = serverRunning.getForString(location, headers); // should be directed to the login screen... assertTrue(response.getBody().contains("/login.do")); assertTrue(response.getBody().contains("auth_key")); assertTrue(response.getBody().contains("password")); MultiValueMap<String, String> formData = new LinkedMultiValueMap<String, String>(); formData.add("auth_key", testAccounts.getUserName()); formData.add("password", testAccounts.getPassword()); // Should be redirected to the original URL, but now authenticated result = serverRunning.postForResponse("/login.do", headers, formData); assertEquals(HttpStatus.FOUND, result.getStatusCode()); if (result.getHeaders().containsKey("Set-Cookie")) { String cookie = result.getHeaders().getFirst("Set-Cookie"); headers.set("Cookie", cookie); } response = serverRunning.getForString(result.getHeaders().getLocation().toString(), headers); if (response.getStatusCode() == HttpStatus.OK) { // The grant access page should be returned assertTrue(response.getBody().contains("Do you authorize")); formData.clear(); formData.add("user_oauth_approval", "true"); result = serverRunning.postForResponse("/oauth/authorize", headers, formData); assertEquals(HttpStatus.FOUND, result.getStatusCode()); location = result.getHeaders().getLocation().toString(); } else { // Token cached so no need for second approval assertEquals(HttpStatus.FOUND, response.getStatusCode()); location = response.getHeaders().getLocation().toString(); } assertTrue("Wrong location: " + location, location.matches(resource.getPreEstablishedRedirectUri() + ".*code=.+")); formData.clear(); formData.add("client_id", resource.getClientId()); formData.add("redirect_uri", resource.getPreEstablishedRedirectUri()); formData.add("grant_type", "authorization_code"); formData.add("code", location.split("code=")[1].split("&")[0]); HttpHeaders tokenHeaders = new HttpHeaders(); tokenHeaders.set("Authorization", testAccounts.getAuthorizationHeader(resource.getClientId(), resource.getClientSecret())); @SuppressWarnings("rawtypes") ResponseEntity<Map> tokenResponse = serverRunning.postForMap("/oauth/token", formData, tokenHeaders); assertEquals(HttpStatus.OK, tokenResponse.getStatusCode()); @SuppressWarnings("unchecked") Map<String, String> body = tokenResponse.getBody(); Jwt token = JwtHelper.decode(body.get("access_token")); assertTrue("Wrong claims: " + token.getClaims(), token.getClaims().contains("\"aud\"")); assertTrue("Wrong claims: " + token.getClaims(), token.getClaims().contains("\"user_id\"")); }
From source file:org.cloudfoundry.identity.uaa.login.integration.AuthorizationCodeGrantIntegrationTests.java
@Test public void testSuccessfulAuthorizationCodeFlow() throws Exception { HttpHeaders headers = new HttpHeaders(); // TODO: should be able to handle just TEXT_HTML headers.setAccept(Arrays.asList(MediaType.TEXT_HTML, MediaType.ALL)); AuthorizationCodeResourceDetails resource = testAccounts.getDefaultAuthorizationCodeResource(); URI uri = serverRunning.buildUri("/oauth/authorize").queryParam("response_type", "code") .queryParam("state", "mystateid").queryParam("client_id", resource.getClientId()) .queryParam("redirect_uri", resource.getPreEstablishedRedirectUri()).build(); ResponseEntity<Void> result = serverRunning.getForResponse(uri.toString(), headers); assertEquals(HttpStatus.FOUND, result.getStatusCode()); String location = result.getHeaders().getLocation().toString(); if (result.getHeaders().containsKey("Set-Cookie")) { String cookie = result.getHeaders().getFirst("Set-Cookie"); headers.set("Cookie", cookie); }/*from w ww . ja v a 2 s. c o m*/ ResponseEntity<String> response = serverRunning.getForString(location, headers); // should be directed to the login screen... String body = response.getBody(); assertTrue(body.contains("/login.do")); assertTrue(body.contains("username")); assertTrue(body.contains("password")); MultiValueMap<String, String> formData = new LinkedMultiValueMap<String, String>(); formData.add("username", testAccounts.getUserName()); formData.add("password", testAccounts.getPassword()); // Should be redirected to the original URL, but now authenticated result = serverRunning.postForResponse("/login.do", headers, formData); assertEquals(HttpStatus.FOUND, result.getStatusCode()); if (result.getHeaders().containsKey("Set-Cookie")) { String cookie = result.getHeaders().getFirst("Set-Cookie"); headers.set("Cookie", cookie); } response = serverRunning.getForString(result.getHeaders().getLocation().toString(), headers); if (response.getStatusCode() == HttpStatus.OK) { body = response.getBody(); // The grant access page should be returned assertTrue(body.contains("Application Authorization")); // Forms should have the right action assertTrue(body.matches("(?s).*\\saction=\"\\S*oauth/authorize\".*")); formData.clear(); formData.add("user_oauth_approval", "true"); result = serverRunning.postForResponse("/oauth/authorize", headers, formData); assertEquals(HttpStatus.FOUND, result.getStatusCode()); location = result.getHeaders().getLocation().toString(); } else { // Token cached so no need for second approval assertEquals(HttpStatus.FOUND, response.getStatusCode()); location = response.getHeaders().getLocation().toString(); } assertTrue("Wrong location: " + location, location.matches(resource.getPreEstablishedRedirectUri() + ".*code=.+")); assertFalse("Location should not contain cookie: " + location, location.matches(resource.getPreEstablishedRedirectUri() + ".*cookie=.+")); formData.clear(); formData.add("client_id", resource.getClientId()); formData.add("redirect_uri", resource.getPreEstablishedRedirectUri()); formData.add("grant_type", "authorization_code"); formData.add("code", location.split("code=")[1].split("&")[0]); HttpHeaders tokenHeaders = new HttpHeaders(); tokenHeaders.set("Authorization", testAccounts.getAuthorizationHeader(resource.getClientId(), resource.getClientSecret())); @SuppressWarnings("rawtypes") ResponseEntity<Map> tokenResponse = serverRunning.postForMap("/oauth/token", formData, tokenHeaders); assertEquals(HttpStatus.OK, tokenResponse.getStatusCode()); }