Example usage for org.springframework.http HttpHeaders set

List of usage examples for org.springframework.http HttpHeaders set

Introduction

In this page you can find the example usage for org.springframework.http HttpHeaders set.

Prototype

@Override
public void set(String headerName, @Nullable String headerValue) 

Source Link

Document

Set the given, single header value under the given name.

Usage

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);
}