List of usage examples for org.springframework.http HttpHeaders set
@Override public void set(String headerName, @Nullable String headerValue)
From source file:com.athena.dolly.controller.module.couchbase.CouchbaseClient.java
/** * <pre>/*from w w w.ja v a2 s . co m*/ * HTTP Header? ?? ?. * </pre> * @return */ private HttpEntity<Object> setHTTPEntity(String body) { List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>(); acceptableMediaTypes.add(MediaType.APPLICATION_JSON); HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.setContentType(MediaType.APPLICATION_JSON); requestHeaders.setAccept(acceptableMediaTypes); if (getCredential() != null) { requestHeaders.set(AUTH_HEADER_KEY, getCredential()); } if (body != null) { logger.debug("Content Body => {}", body); return new HttpEntity<Object>(body, requestHeaders); } else { return new HttpEntity<Object>(requestHeaders); } }
From source file:de.metas.ui.web.window.controller.WindowRestController.java
@GetMapping("/{windowId}/{documentId}/attachments/{id}") public ResponseEntity<byte[]> getAttachmentById(@PathVariable("windowId") final int adWindowId // , @PathVariable("documentId") final String documentId // , @PathVariable("id") final int id) { userSession.assertLoggedIn();/* www .ja v a2s. co m*/ final DocumentPath documentPath = DocumentPath.rootDocumentPath(DocumentType.Window, adWindowId, documentId); final Document document = documentCollection.getDocument(documentPath); final MAttachmentEntry entry = Services.get(IAttachmentBL.class).getEntryForModelById(document, id); if (entry == null) { throw new EntityNotFoundException("No attachment found (ID=" + id + ")"); } final String entryFilename = entry.getFilename(); final byte[] entryData = entry.getData(); if (entryData == null || entryData.length == 0) { throw new EntityNotFoundException("No attachment found (ID=" + id + ")"); } final String entryContentType = entry.getContentType(); final HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType(entryContentType)); headers.set(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + entryFilename + "\""); headers.setCacheControl("must-revalidate, post-check=0, pre-check=0"); final ResponseEntity<byte[]> response = new ResponseEntity<>(entryData, headers, HttpStatus.OK); return response; }
From source file:de.metas.ui.web.window.controller.WindowRestController.java
@RequestMapping(value = "/{windowId}/{documentId}/print/{filename:.*}", method = RequestMethod.GET) public ResponseEntity<byte[]> getDocumentPrint(@PathVariable("windowId") final int adWindowId // , @PathVariable("documentId") final String documentId // , @PathVariable("filename") final String filename) { userSession.assertLoggedIn();//w w w . ja v a2 s .c om final DocumentPath documentPath = DocumentPath.rootDocumentPath(DocumentType.Window, adWindowId, documentId); final Document document = documentCollection.getDocument(documentPath); final DocumentEntityDescriptor entityDescriptor = document.getEntityDescriptor(); final ProcessExecutionResult processExecutionResult = ProcessInfo.builder().setCtx(userSession.getCtx()) .setAD_Process_ID(entityDescriptor.getPrintProcessId()) .setRecord(entityDescriptor.getTableName(), document.getDocumentIdAsInt()).setPrintPreview(true) .setJRDesiredOutputType(OutputType.PDF) // .buildAndPrepareExecution().onErrorThrowException().switchContextWhenRunning().executeSync() .getResult(); final byte[] reportData = processExecutionResult.getReportData(); final String reportContentType = processExecutionResult.getReportContentType(); final HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType(reportContentType)); headers.set(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + filename + "\""); headers.setCacheControl("must-revalidate, post-check=0, pre-check=0"); final ResponseEntity<byte[]> response = new ResponseEntity<>(reportData, headers, HttpStatus.OK); return response; }
From source file:business.services.ExcerptListService.java
/** * Write the excerpt list as a file./*from www . ja va 2 s.c om*/ * @param list - the list * @param selectedOnly - writes only selected excerpts if true; all excerpts otherwise. * @return the resource holding selected excerpts or all (depends on the value of {@value selected} * in CSV format. */ public HttpEntity<InputStreamResource> writeExcerptList(ExcerptList list, boolean selectedOnly) { try { ByteArrayOutputStream out = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(out, EXCERPT_LIST_CHARACTER_ENCODING); CSVWriter csvwriter = new CSVWriter(writer, ';', '"'); csvwriter.writeNext(list.getCsvColumnNames()); for (ExcerptEntry entry : list.getEntries()) { if (!selectedOnly || entry.isSelected()) { csvwriter.writeNext(entry.getCsvValues()); } } csvwriter.flush(); writer.flush(); out.flush(); InputStream in = new ByteArrayInputStream(out.toByteArray()); csvwriter.close(); writer.close(); out.close(); InputStreamResource resource = new InputStreamResource(in); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf("text/csv;charset=" + EXCERPT_LIST_CHARACTER_ENCODING)); String filename = (selectedOnly ? "selection" : "excerpts") + "_" + list.getProcessInstanceId() + ".csv"; headers.set("Content-Disposition", "attachment; filename=" + filename); HttpEntity<InputStreamResource> response = new HttpEntity<InputStreamResource>(resource, headers); log.info("Returning reponse."); return response; } catch (IOException e) { log.error(e.getStackTrace()); log.error(e.getMessage()); throw new ExcerptListDownloadError(); } }
From source file:business.services.RequestService.java
public HttpEntity<InputStreamResource> writeRequestListCsv(List<RequestRepresentation> requests) { try {//from ww w . j a v a2s. c o m ByteArrayOutputStream out = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(out, CSV_CHARACTER_ENCODING); CSVWriter csvwriter = new CSVWriter(writer, ';', '"'); csvwriter.writeNext(CSV_COLUMN_NAMES); for (RequestRepresentation request : requests) { List<String> values = new ArrayList<>(); values.add(request.getRequestNumber()); values.add(DATE_FORMATTER.print(request.getDateCreated(), LOCALE)); values.add(request.getTitle()); values.add(request.getStatus().toString()); values.add(booleanToString(request.isLinkageWithPersonalData())); values.add(request.getLinkageWithPersonalDataNotes()); values.add(booleanToString(request.isStatisticsRequest())); values.add(booleanToString(request.isExcerptsRequest())); values.add(booleanToString(request.isPaReportRequest())); values.add(booleanToString(request.isMaterialsRequest())); values.add(booleanToString(request.isClinicalDataRequest())); values.add(request.getRequesterName()); values.add(request.getLab() == null ? "" : request.getLab().getNumber().toString()); values.add(request.getRequester() == null ? "" : request.getRequester().getSpecialism()); values.add(labRequestService.countHubAssistanceLabRequestsForRequest(request.getProcessInstanceId()) .toString()); values.add(request.getPathologistName()); csvwriter.writeNext(values.toArray(new String[] {})); } csvwriter.flush(); writer.flush(); out.flush(); InputStream in = new ByteArrayInputStream(out.toByteArray()); csvwriter.close(); writer.close(); out.close(); InputStreamResource resource = new InputStreamResource(in); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf("text/csv")); String filename = "requests_" + DATE_FORMATTER.print(new Date(), LOCALE) + ".csv"; headers.set("Content-Disposition", "attachment; filename=" + filename); HttpEntity<InputStreamResource> response = new HttpEntity<InputStreamResource>(resource, headers); log.info("Returning reponse."); return response; } catch (IOException e) { log.error(e.getStackTrace()); log.error(e.getMessage()); throw new FileDownloadError(); } }
From source file:org.cloudfoundry.identity.app.integration.AuthenticationIntegrationTests.java
@Test public void formLoginSucceeds() throws Exception { ResponseEntity<Void> result; String location;/* w ww . j a v a 2 s.c o m*/ String cookie; HttpHeaders uaaHeaders = new HttpHeaders(); HttpHeaders appHeaders = new HttpHeaders(); uaaHeaders.setAccept(Arrays.asList(MediaType.TEXT_HTML)); appHeaders.setAccept(Arrays.asList(MediaType.TEXT_HTML)); // *** GET /app/id result = serverRunning.getForResponse("/id", appHeaders); assertEquals(HttpStatus.FOUND, result.getStatusCode()); location = result.getHeaders().getLocation().toString(); cookie = result.getHeaders().getFirst("Set-Cookie"); assertNotNull("Expected cookie in " + result.getHeaders(), cookie); appHeaders.set("Cookie", cookie); assertTrue("Wrong location: " + location, location.contains("/oauth/authorize")); // *** GET /uaa/oauth/authorize result = serverRunning.getForResponse(location, uaaHeaders); assertEquals(HttpStatus.FOUND, result.getStatusCode()); location = result.getHeaders().getLocation().toString(); cookie = result.getHeaders().getFirst("Set-Cookie"); assertNotNull("Expected cookie in " + result.getHeaders(), cookie); uaaHeaders.set("Cookie", cookie); assertTrue("Wrong location: " + location, location.contains("/login")); location = serverRunning.getAuthServerUrl("/login.do"); MultiValueMap<String, String> formData; formData = new LinkedMultiValueMap<String, String>(); formData.add("username", testAccounts.getUserName()); formData.add("password", testAccounts.getPassword()); // *** POST /uaa/login.do result = serverRunning.postForResponse(location, uaaHeaders, formData); cookie = result.getHeaders().getFirst("Set-Cookie"); assertNotNull("Expected cookie in " + result.getHeaders(), cookie); uaaHeaders.set("Cookie", cookie); assertEquals(HttpStatus.FOUND, result.getStatusCode()); location = result.getHeaders().getLocation().toString(); assertTrue("Wrong location: " + location, location.contains("/oauth/authorize")); // *** GET /uaa/oauth/authorize result = serverRunning.getForResponse(location, uaaHeaders); // If there is no token in place already for this client we get the approval page. // TODO: revoke the token so we always get the approval page if (result.getStatusCode() == HttpStatus.OK) { location = serverRunning.getAuthServerUrl("/oauth/authorize"); formData = new LinkedMultiValueMap<String, String>(); formData.add("user_oauth_approval", "true"); // *** POST /uaa/oauth/authorize result = serverRunning.postForResponse(location, uaaHeaders, formData); } location = result.getHeaders().getLocation().toString(); // SUCCESS assertTrue("Wrong location: " + location, location.contains("/id")); // *** GET /app/id result = serverRunning.getForResponse(location, appHeaders); // System.err.println(result.getHeaders()); assertEquals(HttpStatus.OK, result.getStatusCode()); }
From source file:eu.freme.broker.eservices.ELink.java
@RequestMapping(value = "/e-link/templates/{templateid}", method = RequestMethod.PUT) @Secured({ "ROLE_USER", "ROLE_ADMIN" }) public ResponseEntity<String> updateTemplateById( @RequestHeader(value = "Accept", required = false) String acceptHeader, @RequestHeader(value = "Content-Type", required = false) String contentTypeHeader, // @RequestParam(value = "informat", required=false) String // informat, // @RequestParam(value = "f", required=false) String f, // @RequestParam(value = "outformat", required=false) String // outformat, // @RequestParam(value = "o", required=false) String o, @RequestParam(value = "owner", required = false) String ownerName, @PathVariable("templateid") long templateId, @RequestParam Map<String, String> allParams, @RequestBody String postBody) { try {/*w w w. j a va2 s .c om*/ // NOTE: informat was defaulted to JSON before! Now it is TURTLE. // NOTE: outformat was defaulted to turtle, if acceptHeader=="*/*" // and informat==null, otherwise to JSON. Now it is TURTLE. NIFParameterSet nifParameters = this.normalizeNif(postBody, acceptHeader, contentTypeHeader, allParams, true); // validateTemplateID(templateId); // check read access Template template = templateDAO.findOneById(templateId); // Was the nif-input empty? if (nifParameters.getInput() != null) { if (nifParameters.getInformat().equals(RDFConstants.RDFSerialization.JSON)) { JSONObject jsonObj = new JSONObject(nifParameters.getInput()); template.update(jsonObj); } else { Model model = rdfConversionService.unserializeRDF(nifParameters.getInput(), nifParameters.getInformat()); template.setTemplateWithModel(model); } } template = templateDAO.save(template); if (!Strings.isNullOrEmpty(ownerName)) { User owner = userDAO.getRepository().findOneByName(ownerName); if (owner == null) throw new BadRequestException( "Can not change owner of the template. User \"" + ownerName + "\" does not exist."); template = templateDAO.updateOwner(template, owner); } 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()); } HttpHeaders responseHeaders = new HttpHeaders(); URI location = new URI("/e-link/templates/" + template.getId()); responseHeaders.setLocation(location); responseHeaders.set("Content-Type", nifParameters.getOutformat().contentType()); return new ResponseEntity<>(serialization, responseHeaders, HttpStatus.OK); } catch (URISyntaxException ex) { logger.error(ex.getMessage(), ex); throw new BadRequestException(ex.getMessage()); } 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 (org.json.JSONException ex) { logger.error(ex.getMessage(), ex); throw new BadRequestException( "The JSON object is incorrectly formatted. Problem description: " + ex.getMessage()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } throw new InternalServerErrorException("Unknown problem. Please contact us."); }
From source file:be.solidx.hot.data.rest.RestDataStore.java
@RequestMapping(value = "/{dbname}/{entity}", method = RequestMethod.POST) synchronized public DeferredResult<ResponseEntity<byte[]>> save(final HttpServletRequest httpRequest, @PathVariable final String dbname, @PathVariable final String entity, @RequestBody final String body) { Callable<ResponseEntity<byte[]>> blocking = new Callable<ResponseEntity<byte[]>>() { @Override/* w w w .j ava 2s . c o m*/ public ResponseEntity<byte[]> call() throws Exception { DB<Map<String, Object>> db = dbMap.get(dbname); if (db == null) { return buildEmptyResponse(HttpStatus.NOT_FOUND); } if (!db.listCollections().contains(entity)) { return buildEmptyResponse(HttpStatus.NOT_FOUND); } // Filter unknown table columns from input JSON Map<String, Object> entityMap = readJson(body); be.solidx.hot.data.jdbc.groovy.DB dbProxy = null; if (db instanceof be.solidx.hot.data.jdbc.groovy.DB) { dbProxy = (be.solidx.hot.data.jdbc.groovy.DB) db; } Map<String, Object> filteredMap = null; if (dbProxy != null) { filteredMap = filterEntity(entityMap, dbProxy.getCollectionMetadata(entity).getColumns()); } else { filteredMap = entityMap; } // Save data Map<String, Object> insertedEntity = db.getCollection(entity).insert(filteredMap); // build pks String ids = ""; String separator = ""; for (String pk : db.getPrimaryKeys(entity)) { ids += String.format("%s%s", separator, pk); separator = ","; } // response headers UriComponentsBuilder resourceUrl = getDatastoreUri(httpRequest, dbname).path("/" + entity) .path("/" + ids); HttpHeaders headers = new HttpHeaders(); headers.set(LOCATION, resourceUrl.build().toUri().toASCIIString()); // build response if (dbProxy != null) { List<Map<String, Object>> links = new ArrayList<Map<String, Object>>(); for (String collectionName : dbProxy.getCollectionMetadata(entity).getRelations()) { Map<String, Object> entry = new HashMap<String, Object>(); entry.put(REL, collectionName); entry.put(HREF, getDatastoreUri(httpRequest, dbname).path("/" + entity).path("/" + ids) .path("/" + collectionName).build().toUri().toASCIIString()); links.add(entry); } insertedEntity.put(LINKS, links); } return buildJSONResponse(insertedEntity, headers, HttpStatus.CREATED); } }; return blockingCall(blocking); }