public BasicContentHeaderProperties createContentHeaderProperties(int classId, int propertyFlags, QpidByteBuffer buffer, int size) throws AMQFrameDecodingException { BasicContentHeaderProperties properties; if (classId == BasicConsumeBody.CLASS_ID) { properties = new BasicContentHeaderProperties(buffer, propertyFlags, size); } else { throw new AMQFrameDecodingException("Unsupported content header class id: " + classId, null); } return properties; } }
@Override public String getMimeType() { return getProperties().getContentTypeAsString(); }
@Override public String getCorrelationId() { return getProperties().getCorrelationIdAsString(); }
final BasicContentHeaderProperties props = new BasicContentHeaderProperties(); props.setAppId(serverMsg.getMessageHeader().getAppId()); props.setContentType(bodyMimeType); props.setCorrelationId(convertToShortStringForProperty("correlation-id", serverMsg.getMessageHeader().getCorrelationId())); props.setDeliveryMode(serverMsg.isPersistent() ? BasicContentHeaderProperties.PERSISTENT : BasicContentHeaderProperties.NON_PERSISTENT); props.setExpiration(serverMsg.getExpiration()); props.setMessageId(convertToOptionalAMQPShortString(serverMsg.getMessageHeader().getMessageId())); props.setPriority(serverMsg.getMessageHeader().getPriority()); props.setReplyTo(convertToShortStringForProperty("reply-to", getReplyTo(serverMsg, addressSpace))); props.setTimestamp(serverMsg.getMessageHeader().getTimestamp()); props.setUserId(convertToOptionalAMQPShortString(serverMsg.getMessageHeader().getUserId())); props.setEncoding(convertToShortStringForProperty("encoding", serverMsg.getMessageHeader().getEncoding())); props.setHeaders(FieldTable.convertToFieldTable(headerProps));
header.setPriority(UnsignedByte.valueOf(contentHeader.getPriority())); if(contentHeader.hasExpiration()) if(!GZIPUtils.GZIP_CONTENT_ENCODING.equals(contentHeader.getEncodingAsString()) && bodySection instanceof DataSection) props.setContentEncoding(Symbol.valueOf(contentHeader.getEncodingAsString())); Symbol contentType = getContentType(contentHeader.getContentTypeAsString()); props.setContentType(contentType); final AMQShortString correlationId = contentHeader.getCorrelationId(); if(correlationId != null) final String correlationIdAsString = contentHeader.getCorrelationIdAsString(); if (Arrays.equals(correlationIdAsBytes, correlationIdAsString.getBytes(StandardCharsets.UTF_8))) final AMQShortString messageId = contentHeader.getMessageId(); if(messageId != null) if (contentHeader.getReplyTo() != null) props.setReplyTo(convertReplyTo(contentHeader.getReplyTo())); if(contentHeader.getUserId() != null) props.setUserId(new Binary(contentHeader.getUserId().getBytes())); if (contentHeader.hasTimestamp())
new BasicContentHeaderProperties(contentHeaderBody.getProperties()); modifiedProps.setEncoding((String)null); && contentHeaderBody.getProperties().getEncoding()==null && bodySize > _connection.getMessageCompressionThreshold() && (modifiedContent = deflateIfPossible(message)) != null) new BasicContentHeaderProperties(contentHeaderBody.getProperties()); modifiedProps.setEncoding(GZIP_ENCODING);
@Override public Collection<String> getHeaderNames() { return getProperties().getHeaders().keys(); }
public static void process(final QpidByteBuffer buffer, final ChannelMethodProcessor methodProcessor, final long size) throws AMQFrameDecodingException { int classId = buffer.getUnsignedShort(); buffer.getUnsignedShort(); long bodySize = buffer.getLong(); int propertyFlags = buffer.getUnsignedShort(); BasicContentHeaderProperties properties; if (classId != CLASS_ID) { throw new AMQFrameDecodingException("Unsupported content header class id: " + classId, null); } properties = new BasicContentHeaderProperties(buffer, propertyFlags, (int)(size-14)); if(!methodProcessor.ignoreAllButCloseOk()) { methodProcessor.receiveMessageHeader(properties, bodySize); } else { properties.dispose(); } }
@Override public byte getPriority() { return getProperties().getPriority(); }
@Override public String getEncoding() { return getProperties().getEncodingAsString(); }
@Override public long getTimestamp() { return getProperties().getTimestamp(); }
public void setContentType(String contentType) { setContentType((contentType == null) ? null : AMQShortString.valueOf(contentType)); }
public void setAppId(String appId) { setAppId((appId == null) ? null : AMQShortString.valueOf(appId)); }
_connection.checkAuthorizedMessagePrincipal(AMQShortString.toString(contentHeader.getProperties().getUserId()));
final BasicContentHeaderProperties props = new BasicContentHeaderProperties(); props.setAppId(serverMsg.getMessageHeader().getAppId()); props.setContentType(bodyMimeType); props.setEncoding(convertToShortStringForProperty("content-encoding", serverMsg.getMessageHeader().getEncoding())); props.setCorrelationId(getCorrelationIdAsShortString(serverMsg)); props.setDeliveryMode(serverMsg.isPersistent() ? BasicContentHeaderProperties.PERSISTENT : BasicContentHeaderProperties.NON_PERSISTENT); props.setExpiration(absoluteExpiryTime.getTime()); props.setExpiration(ttl + serverMsg.getArrivalTime()); props.setMessageId(getMessageIdAsShortString(serverMsg)); props.setPriority(serverMsg.getMessageHeader().getPriority()); props.setReplyTo(getReplyTo(serverMsg, addressSpace)); Date timestamp = getCreationTime(serverMsg); if (timestamp != null) props.setTimestamp(timestamp.getTime()); props.setTimestamp(serverMsg.getArrivalTime()); props.setUserId(getUserIdAsShortString(serverMsg)); props.setType(convertToShortStringForProperty("subject", header.getSubject())); props.setHeaders(headers);
@Override public boolean containsHeader(String name) { FieldTable ft = getProperties().getHeaders(); return ft.containsKey(name); }
@Override public Object getHeader(String name) { FieldTable ft = getProperties().getHeaders(); return ft.get(name); }
@Override public boolean containsHeaders(Set<String> names) { FieldTable ft = getProperties().getHeaders(); for(String name : names) { if(!ft.containsKey(name)) { return false; } } return true; }
public BasicContentHeaderProperties(BasicContentHeaderProperties other) { _headers = FieldTableFactory.createFieldTable(FieldTable.convertToMap(other.getHeaders())); _contentType = other._contentType; _encoding = other._encoding; _deliveryMode = other._deliveryMode; _priority = other._priority; _correlationId = other._correlationId; _replyTo = other._replyTo; _expiration = other._expiration; _messageId = other._messageId; _timestamp = other._timestamp; _type = other._type; _userId = other._userId; _appId = other._appId; _clusterId = other._clusterId; _propertyFlags = other._propertyFlags; }