Java Examples for org.springframework.messaging.rsocket.MetadataExtractor

The following java examples will help you to understand the usage of org.springframework.messaging.rsocket.MetadataExtractor. These source code samples are taken from different open source projects.

Example 1
Project: spring-security-master  File: RoutePayloadExchangeMatcherTests.java View source code
@Test
public void matchesWhenMatchAndNoVariablesThenMatch() {
    String route = "route";
    when(this.metadataExtractor.extract(any(), any())).thenReturn(Collections.singletonMap(MetadataExtractor.ROUTE_KEY, route));
    when(this.routeMatcher.parseRoute(any())).thenReturn(this.route);
    when(this.routeMatcher.matchAndExtract(any(), any())).thenReturn(Collections.emptyMap());
    PayloadExchangeMatcher.MatchResult result = this.matcher.matches(this.exchange).block();
    assertThat(result.isMatch()).isTrue();
}
Example 2
Project: spring-framework-master  File: MessagingRSocket.java View source code
private MessageHeaders createHeaders(Payload payload, FrameType frameType, @Nullable MonoProcessor<?> replyMono) {
    MessageHeaderAccessor headers = new MessageHeaderAccessor();
    headers.setLeaveMutable(true);
    Map<String, Object> metadataValues = this.metadataExtractor.extract(payload, this.metadataMimeType);
    metadataValues.putIfAbsent(MetadataExtractor.ROUTE_KEY, "");
    for (Map.Entry<String, Object> entry : metadataValues.entrySet()) {
        if (entry.getKey().equals(MetadataExtractor.ROUTE_KEY)) {
            RouteMatcher.Route route = this.routeMatcher.parseRoute((String) entry.getValue());
            headers.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, route);
        } else {
            headers.setHeader(entry.getKey(), entry.getValue());
        }
    }
    headers.setContentType(this.dataMimeType);
    headers.setHeader(RSocketFrameTypeMessageCondition.FRAME_TYPE_HEADER, frameType);
    headers.setHeader(RSocketRequesterMethodArgumentResolver.RSOCKET_REQUESTER_HEADER, this.requester);
    if (replyMono != null) {
        headers.setHeader(RSocketPayloadReturnValueHandler.RESPONSE_HEADER, replyMono);
    }
    headers.setHeader(HandlerMethodReturnValueHandler.DATA_BUFFER_FACTORY_HEADER, this.strategies.dataBufferFactory());
    return headers.getMessageHeaders();
}