Skip to content

Commit 736144e

Browse files
committed
Allow passing data mime type.
1 parent a471ef4 commit 736144e

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

rsocket-broker-client-spring/src/main/java/io/rsocket/broker/client/spring/BrokerClientAutoConfiguration.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,19 @@
1717
package io.rsocket.broker.client.spring;
1818

1919
import java.net.URI;
20-
import java.util.Collections;
21-
import java.util.List;
2220

2321
import io.rsocket.RSocket;
2422
import io.rsocket.broker.common.spring.ClientTransportFactory;
2523
import io.rsocket.broker.common.spring.DefaultClientTransportFactory;
2624
import io.rsocket.broker.common.spring.MimeTypes;
2725
import io.rsocket.broker.frames.RouteSetup;
28-
import io.rsocket.loadbalance.LoadbalanceTarget;
29-
import io.rsocket.loadbalance.RoundRobinLoadbalanceStrategy;
3026
import io.rsocket.transport.ClientTransport;
3127
import reactor.core.Disposable;
32-
import reactor.core.publisher.Flux;
3328
import reactor.core.publisher.Sinks;
3429
import reactor.core.publisher.Sinks.One;
3530

3631
import org.springframework.beans.factory.ObjectProvider;
32+
import org.springframework.beans.factory.annotation.Autowired;
3733
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
3834
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
3935
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -73,7 +69,7 @@ public BrokerClientProperties brokerClientProperties() {
7369
@ConditionalOnMissingBean
7470
public BrokerRSocketRequesterBuilder brokerRSocketRequesterBuilder(
7571
RSocketConnectorConfigurer configurer, RSocketStrategies strategies,
76-
BrokerClientProperties properties) {
72+
BrokerClientProperties properties, @Autowired(required = false) BrokerClientMimeTypeSupplier brokerClientMimeTypeSupplier) {
7773
RouteSetup.Builder routeSetup = RouteSetup.from(properties.getRouteId(),
7874
properties.getServiceName());
7975
properties.getTags().forEach((key, value) -> {
@@ -90,6 +86,7 @@ else if (key.getKey() != null) {
9086

9187
RSocketRequester.Builder builder = RSocketRequester.builder()
9288
.setupMetadata(routeSetup.build(), MimeTypes.BROKER_FRAME_MIME_TYPE)
89+
.dataMimeType(brokerClientMimeTypeSupplier != null ? brokerClientMimeTypeSupplier.get() : null)
9390
.rsocketStrategies(strategies).rsocketConnector(configurer);
9491

9592
//TODO: BrokerRequesterBuilderCustomizer
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* Copyright 2022-2022 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package io.rsocket.broker.client.spring;
18+
19+
import java.util.function.Supplier;
20+
21+
import org.springframework.util.MimeType;
22+
23+
/**
24+
* Allows setting data mime type for communication via broker.
25+
*/
26+
public interface BrokerClientMimeTypeSupplier extends Supplier<MimeType> {
27+
}

0 commit comments

Comments
 (0)