Example usage for org.springframework.http HttpHeaders setContentType

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

Introduction

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

Prototype

public void setContentType(@Nullable MediaType mediaType) 

Source Link

Document

Set the MediaType media type of the body, as specified by the Content-Type header.

Usage

From source file:org.cloudfoundry.identity.uaa.login.SamlRemoteUaaController.java

@RequestMapping(value = "/oauth/token", method = RequestMethod.POST, params = "grant_type=password")
@ResponseBody// w ww  .  ja v a  2  s .com
public ResponseEntity<byte[]> tokenEndpoint(HttpServletRequest request, HttpEntity<byte[]> entity,
        @RequestParam Map<String, String> parameters, Map<String, Object> model, Principal principal)
        throws Exception {

    // Request has a password. Owner password grant with a UAA password
    if (null != request.getParameter("password")) {
        return passthru(request, entity, model);
    } else {
        //
        MultiValueMap<String, String> requestHeadersForClientInfo = new LinkedMultiValueMap<String, String>();
        requestHeadersForClientInfo.add(AUTHORIZATION, request.getHeader(AUTHORIZATION));

        ResponseEntity<byte[]> clientInfoResponse = getDefaultTemplate().exchange(
                getUaaBaseUrl() + "/clientinfo", HttpMethod.POST,
                new HttpEntity<MultiValueMap<String, String>>(null, requestHeadersForClientInfo), byte[].class);

        if (clientInfoResponse.getStatusCode() == HttpStatus.OK) {
            String path = extractPath(request);

            MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
            map.setAll(parameters);
            if (principal != null) {
                map.set("source", "login");
                map.set("client_id", getClientId(clientInfoResponse.getBody()));
                map.setAll(getLoginCredentials(principal));
                map.remove("credentials"); // legacy vmc might break otherwise
            } else {
                throw new BadCredentialsException("No principal found in authorize endpoint");
            }

            HttpHeaders requestHeaders = new HttpHeaders();
            requestHeaders.putAll(getRequestHeaders(requestHeaders));
            requestHeaders.remove(AUTHORIZATION.toLowerCase());
            requestHeaders.remove(ACCEPT.toLowerCase());
            requestHeaders.remove(CONTENT_TYPE.toLowerCase());
            requestHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
            requestHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
            requestHeaders.remove(COOKIE);
            requestHeaders.remove(COOKIE.toLowerCase());

            ResponseEntity<byte[]> response = getAuthorizationTemplate().exchange(getUaaBaseUrl() + "/" + path,
                    HttpMethod.POST, new HttpEntity<MultiValueMap<String, String>>(map, requestHeaders),
                    byte[].class);

            saveCookie(response.getHeaders(), model);

            byte[] body = response.getBody();
            if (body != null) {
                HttpHeaders outgoingHeaders = getResponseHeaders(response.getHeaders());
                return new ResponseEntity<byte[]>(response.getBody(), outgoingHeaders,
                        response.getStatusCode());
            }

            throw new IllegalStateException("Neither a redirect nor a user approval");
        } else {
            throw new BadCredentialsException(new String(clientInfoResponse.getBody()));
        }
    }
}

From source file:net.maritimecloud.identityregistry.controllers.ServiceController.java

/**
 * Returns keycloak.json the service identified by the given ID
 *
 * @return a reply.../*  w  ww . ja  v a  2  s.  com*/
 * @throws McBasicRestException
 */
@RequestMapping(value = "/api/org/{orgMrn}/service/{serviceMrn}/jbossxml", method = RequestMethod.GET)
@ResponseBody
@PreAuthorize("hasRole('SERVICE_ADMIN') and @accessControlUtil.hasAccessToOrg(#orgMrn)")
public ResponseEntity<String> getServiceJbossXml(HttpServletRequest request, @PathVariable String orgMrn,
        @PathVariable String serviceMrn) throws McBasicRestException {
    Organization org = this.organizationService.getOrganizationByMrn(orgMrn);
    if (org != null) {
        // Check that the entity being queried belongs to the organization
        if (!MrnUtil.getOrgShortNameFromOrgMrn(orgMrn)
                .equals(MrnUtil.getOrgShortNameFromEntityMrn(serviceMrn))) {
            throw new McBasicRestException(HttpStatus.BAD_REQUEST, MCIdRegConstants.MISSING_RIGHTS,
                    request.getServletPath());
        }
        Service service = this.entityService.getByMrn(serviceMrn);
        if (service == null) {
            throw new McBasicRestException(HttpStatus.NOT_FOUND, MCIdRegConstants.ENTITY_NOT_FOUND,
                    request.getServletPath());
        }
        if (service.getIdOrganization().compareTo(org.getId()) == 0) {
            // Get the jboss xml for the client the service represents if it exists
            if (service.getOidcAccessType() != null && !service.getOidcAccessType().trim().isEmpty()) {
                keycloakAU.init(KeycloakAdminUtil.BROKER_INSTANCE);
                String jbossXml = keycloakAU.getClientJbossXml(service.getMrn());
                HttpHeaders responseHeaders = new HttpHeaders();
                responseHeaders.setContentLength(jbossXml.length());
                responseHeaders.setContentType(MediaType.APPLICATION_XML);
                return new ResponseEntity<>(jbossXml, responseHeaders, HttpStatus.OK);
            }
            throw new McBasicRestException(HttpStatus.NOT_FOUND, MCIdRegConstants.OIDC_CONF_FILE_NOT_AVAILABLE,
                    request.getServletPath());
        }
        throw new McBasicRestException(HttpStatus.FORBIDDEN, MCIdRegConstants.MISSING_RIGHTS,
                request.getServletPath());
    } else {
        throw new McBasicRestException(HttpStatus.NOT_FOUND, MCIdRegConstants.ORG_NOT_FOUND,
                request.getServletPath());
    }
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteNoDefaultContentTypeCharset() throws Exception {

    // Setup//from  ww w  .  j  a  v a2  s .  c o m
    instance.setOutputContentType(MediaType.APPLICATION_JSON);

    String expected = "\"foobar\"";
    String encoding = "ISO-8859-1";

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(JSON_CONTENT_TYPE);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), JSON_CONTENT_TYPE, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:nu.yona.server.device.rest.DeviceController.java

@RequestMapping(value = "/{deviceId}/apple.mobileconfig", method = RequestMethod.GET)
@ResponseBody//  www . j ava  2s  .c  o  m
public ResponseEntity<byte[]> getAppleMobileConfig(
        @RequestHeader(value = Constants.PASSWORD_HEADER) Optional<String> password, @PathVariable UUID userId,
        @PathVariable UUID deviceId) {
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(new MediaType("application", "x-apple-aspen-config"));
    try (CryptoSession cryptoSession = CryptoSession.start(password,
            () -> userService.doPreparationsAndCheckCanAccessPrivateData(userId))) {
        return new ResponseEntity<>(getDeviceSpecificAppleMobileConfig(deviceService.getDevice(deviceId)),
                headers, HttpStatus.OK);
    }
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWrite() throws Exception {

    // TODO: Make this test more robust

    // Setup/*from w  w w  . jav  a 2s.  c om*/
    String encoding = "ISO-8859-1";
    String expected = "\"foobar\"";
    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteObject() throws Exception {

    // TODO: Make this test more robust

    // Setup/*  w ww. j  a  v a  2s.  c o m*/
    String encoding = "ISO-8859-1";
    String expected = "{\"foo\":\"bar\"}";
    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteArray() throws Exception {

    // TODO: Make this test more robust

    // Setup/*from www . j  a v a2 s. c  o  m*/
    String encoding = "ISO-8859-1";
    String expected = "[\"foo\",\"bar\"]";
    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteCustomEncoding() throws Exception {

    // TODO: Make this test more robust

    // Setup/* w w w.  j a v  a  2s . co  m*/
    String encoding = "UTF-8";
    instance.setEncoding(encoding);

    String expected = "\"foobar\"";

    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteCustomEncodingSetByCharset() throws Exception {

    // TODO: Make this test more robust

    // Setup//w  w  w  .j a va2 s  .co  m
    String encoding = "UTF-8";
    instance.setEncoding(Charset.forName(encoding));

    String expected = "\"foobar\"";

    MediaType contentType = JSON_CONTENT_TYPE;

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}

From source file:net.sf.jsog.spring.StringJsogHttpMessageConverterTest.java

@Test
public void testWriteCustomOutputContentType() throws Exception {

    // TODO: Make this test more robust

    // Setup/*from w  w w . ja  v a2s.co  m*/
    String encoding = "US-ASCII";
    instance.setEncoding(encoding);

    String expected = "\"foobar\"";

    MediaType contentType = new MediaType("text", "plain", Charset.forName(encoding));
    instance.setOutputContentType(contentType);

    HttpOutputMessage output = createMock(HttpOutputMessage.class);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    expect(output.getBody()).andReturn(baos);

    HttpHeaders headers = createMock(HttpHeaders.class);
    expect(output.getHeaders()).andReturn(headers).anyTimes();

    headers.setContentType(contentType);
    expectLastCall();
    headers.setContentLength(expected.getBytes(encoding).length);
    expectLastCall();

    // Execution
    replay(headers, output);
    instance.write(JSOG.parse(expected), contentType, output);

    // Verification
    verify(headers, output);
    assertEquals(expected, baos.toString(encoding));
}