Example usage for org.springframework.messaging.simp.stomp StompHeaders setContentType

List of usage examples for org.springframework.messaging.simp.stomp StompHeaders setContentType

Introduction

In this page you can find the example usage for org.springframework.messaging.simp.stomp StompHeaders setContentType.

Prototype

public void setContentType(@Nullable MimeType mimeType) 

Source Link

Document

Set the content-type header.

Usage

From source file:org.springframework.integration.stomp.support.StompHeaderMapper.java

private void setStompHeader(StompHeaders target, String name, Object value) {
    if (StompHeaders.CONTENT_LENGTH.equals(name)) {
        if (value instanceof Number) {
            target.setContentLength(((Number) value).longValue());
        } else if (value instanceof String) {
            target.setContentLength(Long.parseLong((String) value));
        } else {/*from  w w w  . j a  va 2 s . c  om*/
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected Number or String value for 'content-length' header value, but received: "
                            + clazz);
        }
    } else if (StompHeaders.CONTENT_TYPE.equals(name) || MessageHeaders.CONTENT_TYPE.equals(name)) {
        MimeType contentType = target.getContentType();
        if (contentType == null || StompHeaders.CONTENT_TYPE.equals(name)) {
            if (value instanceof MediaType) {
                target.setContentType((MediaType) value);
            } else if (value instanceof String) {
                target.setContentType(MediaType.parseMediaType((String) value));
            } else {
                Class<?> clazz = (value != null) ? value.getClass() : null;
                throw new IllegalArgumentException(
                        "Expected MediaType or String value for 'content-type' header value, but received: "
                                + clazz);
            }
        }
    } else if (StompHeaders.DESTINATION.equals(name) || IntegrationStompHeaders.DESTINATION.equals(name)) {
        if (value instanceof String) {
            target.setDestination((String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for 'destination' header value, but received: " + clazz);
        }
    } else if (StompHeaders.RECEIPT.equals(name) || IntegrationStompHeaders.RECEIPT.equals(name)) {
        if (value instanceof String) {
            target.setReceipt((String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for 'receipt' header value, but received: " + clazz);
        }
    } else {
        if (value instanceof String) {
            target.set(name, (String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for any generic STOMP header value, but received: " + clazz);
        }
    }
}