Example usage for org.springframework.http HttpHeaders add

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

Introduction

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

Prototype

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

Source Link

Document

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

Usage

From source file:com.aspose.showcase.qrcodegen.web.api.controller.QRCodeManagementController.java

/**
 * generateQRCode - Main API to generate QR Code
 * //www . j av a 2s  . c  o m
 * @throws Exception
 * 
 * 
 */
@RequestMapping(value = "generate", method = RequestMethod.GET, produces = { MediaType.IMAGE_JPEG_VALUE,
        MediaType.IMAGE_PNG_VALUE, MediaType.IMAGE_GIF_VALUE, MEDIATYPE_IMAGE_TIFF_VALUE,
        MEDIATYPE_IMAGE_BMP_VALUE })
@ApiOperation(value = "Generate QR Code.")
public ResponseEntity<byte[]> generateQRCode(
        @ApiParam(value = "data", name = "data", required = true) @RequestParam("data") String data,
        @ApiParam(value = "A user-chosen password that can be used with password-based encryption (PBE) Algo PBEWITHMD5AND128BITAES-CBC-OPENSSL)", name = "passKey", required = false) @RequestParam(required = false, value = "passKey") String passKey,
        @ApiParam(value = "ForeColor e.g #000000 (Black - RGB(hex))", name = "foreColor", required = false) @RequestParam(required = false, value = "foreColor") String foreColor,
        @ApiParam(value = "BackgroundColor e.g #FFFFFF (White - RGB(hex))", name = "bgColor", required = false) @RequestParam(required = false, value = "bgColor") String bgColor,
        @ApiParam(value = "L|M|Q|H - Reed-Solomon error correctionCode Level(from low to high) default=Low", name = "ecc", required = false) @RequestParam(required = false, value = "ecc") String ecc,
        @ApiParam(value = "Image Size e.g #150x150", name = "size", required = false) @RequestParam(required = false, value = "size") String size,
        @ApiParam(value = "jpeg|tiff|gif|png|bmp - default=png", name = "format", required = false) @RequestParam(required = false, value = "format") String format,
        @ApiParam(value = "true|false default=false", name = "download", required = false) @RequestParam(required = false, value = "download") boolean download,
        @ApiIgnore @Value("#{request.getHeader('" + ACCEPT_HEADER + "')}") String acceptHeaderValue)
        throws Exception {

    Assert.isTrue(StringUtils.isNotEmpty(data), "Please provide valid data param.");

    LOGGER.debug("Accept Header::" + acceptHeaderValue);

    HttpHeaders responseHeaders = new HttpHeaders();

    if (!(StringUtils.isBlank(passKey))) {
        builder.setCodeText(StringEncryptor.encrypt(data, passKey));
    } else {
        builder.setCodeText(data);
    }

    builder.setImageQuality(ImageQualityMode.Default);
    builder.setSymbologyType(Symbology.QR);
    builder.setCodeLocation(CodeLocation.None);

    builder.setForeColor(getColorValue(foreColor, "#000000"));

    builder.setBackColor(getColorValue(bgColor, "#FFFFFF"));

    builder.setQRErrorLevel(getErrorCorrectCode(ecc, QRErrorLevel.LevelL));

    Dimension imageDimention = geCustomImageSizeDimention(size);

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageFormatDTO responseImageTypeDto = getRequestedImageFormat(responseHeaders, acceptHeaderValue, format);

    long startTime = System.currentTimeMillis();

    LOGGER.debug("builder.save Start @  " + startTime);
    byte[] imageInByte;

    if (imageDimention != null) {

        // Set graphics unit
        builder.setGraphicsUnit(GraphicsUnit.Millimeter);

        // Set margins
        builder.getMargins().set(0);

        builder.setForeColor(getColorValue(foreColor, "#000000"));

        builder.setBackColor(getColorValue(bgColor, "#FFFFFF"));

        LOGGER.debug("builder.getGraphicsUnit() ::" + builder.getGraphicsUnit());

        // Get BufferedImage with exact bar code only
        BufferedImage img = builder.getOnlyBarCodeImage();

        LOGGER.debug("img.getWidth() : :" + img.getWidth());
        LOGGER.debug("img.getHeight() :: " + img.getHeight());

        if (imageDimention.getWidth() < img.getWidth()) {
            imageDimention.width = img.getWidth();
        }

        if (imageDimention.getHeight() < img.getHeight()) {
            imageDimention.height = img.getHeight();
        }

        BufferedImage img2 = builder.getCustomSizeBarCodeImage(imageDimention, true);

        MediaType responseType = responseImageTypeDto.getMediaType();
        ImageIO.write(img2, responseType.getSubtype(), baos);
        baos.flush();
        imageInByte = baos.toByteArray();
        baos.close();

    } else {

        builder.setxDimension(1.0f);
        builder.setyDimension(1.0f);

        builder.save(baos, responseImageTypeDto.getBarCodeImageFormat());
        baos.flush();
        imageInByte = baos.toByteArray();
        baos.close();
    }

    long endTime = System.currentTimeMillis();

    LOGGER.debug("builder.save took " + (endTime - startTime) + " milliseconds");

    if (download) {

        MediaType responseType = responseImageTypeDto.getMediaType();
        responseHeaders.setContentType(responseType);
        responseHeaders.add("Content-Disposition",
                "attachment; filename=" + "Aspose_BarCode_QRCodeGen." + responseType.getSubtype());
    }

    return new ResponseEntity<byte[]>(imageInByte, responseHeaders, HttpStatus.CREATED);

}

From source file:com.muk.services.api.impl.PayPalPaymentService.java

private String getTokenHeader() {
    final Cache cache = cacheManager.getCache(ServiceConstants.CacheNames.paymentApiTokenCache);
    final String token = "paypal";
    ValueWrapper valueWrapper = cache.get(token);
    String cachedHeader = StringUtils.EMPTY;

    if (valueWrapper == null || valueWrapper.get() == null) {
        try {//from w  w  w  .j  a  v  a2s  .  c  o m
            final String value = securityCfgService.getPayPalClientId() + ":"
                    + keystoreService.getPBEKey(securityCfgService.getPayPalClientId());

            final HttpHeaders headers = new HttpHeaders();
            headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));
            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
            headers.add(HttpHeaders.AUTHORIZATION,
                    "Basic " + nonceService.encode(value.getBytes(StandardCharsets.UTF_8)));

            final MultiValueMap<String, String> body = new LinkedMultiValueMap<String, String>();
            body.add("grant_type", "client_credentials");

            final HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(
                    body, headers);

            final ResponseEntity<JsonNode> response = restTemplate.postForEntity(
                    securityCfgService.getPayPalUri() + "/oauth2/token", request, JsonNode.class);

            cache.put(token, response.getBody().get("access_token").asText());
            valueWrapper = cache.get(token);
            cachedHeader = (String) valueWrapper.get();
        } catch (final IOException ioEx) {
            LOG.error("Failed read keystore", ioEx);
            cachedHeader = StringUtils.EMPTY;
        } catch (final GeneralSecurityException secEx) {
            LOG.error("Failed to get key", secEx);
            cachedHeader = StringUtils.EMPTY;
        }
    } else {
        cachedHeader = (String) valueWrapper.get();
    }

    return "Bearer " + cachedHeader;
}

From source file:com.muk.services.api.impl.PayPalPaymentService.java

private ResponseEntity<JsonNode> send(String path, JsonNode payload) {
    final HttpHeaders headers = new HttpHeaders();

    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.add(HttpHeaders.AUTHORIZATION, getTokenHeader());

    return restTemplate.postForEntity(securityCfgService.getPayPalUri() + path,
            new HttpEntity<JsonNode>(payload, headers), JsonNode.class);
}

From source file:com.muk.services.api.impl.StripePaymentService.java

private ResponseEntity<JsonNode> send(String path, JsonNode payload) {
    final HttpHeaders headers = new HttpHeaders();

    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    headers.add(HttpHeaders.AUTHORIZATION, getTokenHeader());

    final MultiValueMap<String, String> body = new LinkedMultiValueMap<String, String>();
    final Iterator<Entry<String, JsonNode>> nodes = payload.fields();

    while (nodes.hasNext()) {
        final Map.Entry<String, JsonNode> entry = nodes.next();

        if (entry.getValue().isObject()) {
            final String key = entry.getKey();
            final Iterator<Entry<String, JsonNode>> metadataNodes = entry.getValue().fields();

            while (metadataNodes.hasNext()) {
                final Map.Entry<String, JsonNode> element = metadataNodes.next();
                body.add(key + "[\"" + element.getKey() + "\"]", element.getValue().asText());
            }/*www . j  a  va 2s. c om*/
        } else {
            body.add(entry.getKey(), entry.getValue().asText());
        }
    }

    return restTemplate.postForEntity(securityCfgService.getStripeUri() + path,
            new HttpEntity<MultiValueMap<String, String>>(body, headers), JsonNode.class);
}

From source file:com.muk.services.security.DefaultUaaLoginService.java

@SuppressWarnings("unchecked")
@Override//  ww w  .jav a 2s  .com
public Map<String, Object> loginForClient(String username, String password, String clientId,
        UriComponents inUrlComponents) {
    final Map<String, Object> responsePayload = new HashMap<String, Object>();

    final HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));

    final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(cfgService.getOauthServer());

    // login for csrf
    final UriComponents loginUri = uriBuilder.cloneBuilder().pathSegment("login").build();

    ResponseEntity<String> response = exchangeForType(loginUri.toUriString(), HttpMethod.GET, null, headers,
            String.class);

    final List<String> cookies = new ArrayList<String>();
    cookies.addAll(response.getHeaders().get(HttpHeaders.SET_COOKIE));

    final MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
    formData.add("username", username);
    formData.add("password", password);
    formData.add(CSRF, getCsrf(cookies));

    headers.put(HttpHeaders.COOKIE, translateInToOutCookies(cookies));
    headers.add(HttpHeaders.REFERER, loginUri.toUriString());

    // login.do
    response = exchangeForType(uriBuilder.cloneBuilder().pathSegment("login.do").build().toUriString(),
            HttpMethod.POST, formData, headers, String.class);

    if (response.getStatusCode() != HttpStatus.FOUND
            || response.getHeaders().getFirst(HttpHeaders.LOCATION).contains("login")) {
        responsePayload.put("error", "bad credentials");
        return responsePayload;
    }

    removeCookie(cookies, "X-Uaa-Csrf");
    cookies.addAll(response.getHeaders().get(HttpHeaders.SET_COOKIE));
    removeExpiredCookies(cookies);
    headers.remove(HttpHeaders.REFERER);
    headers.put(HttpHeaders.COOKIE, translateInToOutCookies(cookies));

    // authorize
    final ResponseEntity<JsonNode> authResponse = exchangeForType(
            uriBuilder.cloneBuilder().pathSegment("oauth").pathSegment("authorize")
                    .queryParam("response_type", "code").queryParam("client_id", clientId)
                    .queryParam("redirect_uri", inUrlComponents.toUriString()).build().toUriString(),
            HttpMethod.GET, null, headers, JsonNode.class);

    if (authResponse.getStatusCode() == HttpStatus.OK) {
        removeCookie(cookies, "X-Uaa-Csrf");
        cookies.addAll(authResponse.getHeaders().get(HttpHeaders.SET_COOKIE));
        // return approval data
        final List<HttpCookie> parsedCookies = new ArrayList<HttpCookie>();

        for (final String cookie : cookies) {
            parsedCookies.add(HttpCookie.parse(cookie).get(0));
        }

        responsePayload.put(HttpHeaders.SET_COOKIE, new ArrayList<String>());

        for (final HttpCookie parsedCookie : parsedCookies) {
            if (!parsedCookie.getName().startsWith("Saved-Account")) {
                parsedCookie.setPath(inUrlComponents.getPath());
                ((List<String>) responsePayload.get(HttpHeaders.SET_COOKIE))
                        .add(httpCookieToString(parsedCookie));
            }
        }

        responsePayload.put("json", authResponse.getBody());
    } else {
        // get auth_code from Location Header
        responsePayload.put("code", authResponse.getHeaders().getLocation().getQuery().split("=")[1]);
    }

    return responsePayload;
}

From source file:com.muk.services.security.DefaultUaaLoginService.java

@Override
public String approveClient(String approvalQuery, String cookie) {
    final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(cfgService.getOauthServer());
    final HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));

    final StringTokenizer cookieTokenizer = new StringTokenizer(cookie, "; ");
    while (cookieTokenizer.hasMoreTokens()) {
        headers.add(HttpHeaders.COOKIE, cookieTokenizer.nextToken());
    }//from w  ww .ja va2  s. c o m

    final MultiValueMap<String, String> formData = new LinkedMultiValueMap<String, String>();
    for (final String pair : approvalQuery.split("&")) {
        final String[] nv = pair.split("=");
        formData.add(nv[0], nv[1]);
    }
    formData.add("X-Uaa-Csrf", getCsrf(headers.get(HttpHeaders.COOKIE)));

    final UriComponents loginUri = uriBuilder.cloneBuilder().pathSegment("oauth").pathSegment("authorize")
            .build();

    final ResponseEntity<String> response = exchangeForType(loginUri.toUriString(), HttpMethod.POST, formData,
            headers, String.class);

    if (approvalQuery.contains("false")) {
        return null; // approval declined.
    }

    // accepted, but location contains error
    if (response.getHeaders().getLocation().getQuery().startsWith("error")) {
        throw new HttpClientErrorException(HttpStatus.UNAUTHORIZED,
                response.getHeaders().getLocation().getQuery());
    }

    // accepted with related auth code
    return response.getHeaders().getLocation().getQuery().split("=")[1];
}