@Override public DittoHeaders apply(final ExternalMessage externalMessage, final DittoHeaders dittoHeaders) { final DittoHeadersBuilder dittoHeadersBuilder = dittoHeaders.toBuilder(); final String beforeMapping = externalMessage .findHeader(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey()) .orElseThrow(() -> new IllegalArgumentException( "Missing header " + DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey())); // do not use dittoHeadersBuilder.authorizationSubjects(beforeMapping); // because beforeMapping is a JsonArray String, we need to set AUTHORIZATION_SUBJECTS header directly dittoHeadersBuilder.putHeader(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(), beforeMapping); if (!dittoHeaders.getOrigin().isPresent()) { dittoHeadersBuilder.origin(connectionId); } // overwrite the auth-subjects to the configured ones after mapping in order to be sure that the mapping // does not choose/change the auth-subjects itself: return dittoHeadersBuilder.build(); }
@Override public DittoHeaders apply(final ExternalMessage externalMessage, final DittoHeaders dittoHeaders) { final DittoHeadersBuilder dittoHeadersBuilder = dittoHeaders.toBuilder(); final String beforeMapping = externalMessage .findHeader(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey()) .orElseThrow(() -> new IllegalArgumentException( "Missing header " + DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey())); // do not use dittoHeadersBuilder.authorizationSubjects(beforeMapping); // because beforeMapping is a JsonArray String, we need to set AUTHORIZATION_SUBJECTS header directly dittoHeadersBuilder.putHeader(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(), beforeMapping); if (!dittoHeaders.getOrigin().isPresent()) { dittoHeadersBuilder.origin(connectionId); } // overwrite the auth-subjects to the configured ones after mapping in order to be sure that the mapping // does not choose/change the auth-subjects itself: return dittoHeadersBuilder.build(); }
final ExternalMessage externalMessage = builder.build(); LogUtil.enhanceLogWithCorrelationId(log, externalMessage .findHeader(DittoHeaderDefinition.CORRELATION_ID.getKey())); if (log.isDebugEnabled()) { log.debug("Received message from AMQP 1.0 ({}): {}", externalMessage.getHeaders(),
final ExternalMessage externalMessage = builder.build(); LogUtil.enhanceLogWithCorrelationId(log, externalMessage .findHeader(DittoHeaderDefinition.CORRELATION_ID.getKey())); if (log.isDebugEnabled()) { log.debug("Received message from AMQP 1.0 ({}): {}", externalMessage.getHeaders(),