Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 6a68862

Browse files
authored
Merge pull request #129 from scalecube/update-sc-services-rc6
Update sc services rc7
2 parents c72cc7e + c93ad9a commit 6a68862

File tree

5 files changed

+25
-8
lines changed

5 files changed

+25
-8
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323

2424
<properties>
2525
<scalecube-commons.version>1.0.2</scalecube-commons.version>
26-
<scalecube-services.version>2.9.1-RC5</scalecube-services.version>
26+
<scalecube-services.version>2.9.1-RC7</scalecube-services.version>
2727
<scalecube-benchmarks.version>1.2.2</scalecube-benchmarks.version>
2828
<scalecube-config.version>0.4.3</scalecube-config.version>
2929
<reactor.version>Dysprosium-SR7</reactor.version>
30-
<rsocket.version>1.0.0-RC7</rsocket.version>
30+
<rsocket.version>1.0.0</rsocket.version>
3131
<netty.version>4.1.48.Final</netty.version>
3232
<jackson.version>2.11.0</jackson.version>
3333
<metrics.version>3.1.2</metrics.version>

services-gateway-client-transport/src/main/java/io/scalecube/services/gateway/transport/http/HttpGatewayClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public Mono<ServiceMessage> requestResponse(ServiceMessage request) {
7373
};
7474
return httpClient
7575
.post()
76-
.uri(request.qualifier())
76+
.uri("/" + request.qualifier())
7777
.send(sender)
7878
.responseSingle(
7979
(httpResponse, bbMono) ->

services-gateway-netty/src/main/java/io/scalecube/services/gateway/http/HttpGatewayAcceptor.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ private Mono<Void> handleRequest(
6363
ByteBuf content, HttpServerRequest httpRequest, HttpServerResponse httpResponse) {
6464

6565
ServiceMessage request =
66-
ServiceMessage.builder().qualifier(httpRequest.uri()).data(content).build();
66+
ServiceMessage.builder().qualifier(getQualifier(httpRequest)).data(content).build();
6767

6868
return serviceCall
6969
.requestOne(request)
@@ -79,7 +79,11 @@ private Mono<Void> handleRequest(
7979
}
8080

8181
private Mono<ServiceMessage> emptyMessage(HttpServerRequest httpRequest) {
82-
return Mono.just(ServiceMessage.builder().qualifier(httpRequest.uri()).build());
82+
return Mono.just(ServiceMessage.builder().qualifier(getQualifier(httpRequest)).build());
83+
}
84+
85+
private static String getQualifier(HttpServerRequest httpRequest) {
86+
return httpRequest.uri().substring(1);
8387
}
8488

8589
private Publisher<Void> methodNotAllowed(HttpServerResponse httpResponse) {

services-gateway-tests/src/test/java/io/scalecube/services/gateway/SecuredService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import io.scalecube.services.annotations.Service;
77
import io.scalecube.services.annotations.ServiceMethod;
88
import io.scalecube.services.api.ServiceMessage;
9-
import io.scalecube.services.auth.Auth;
9+
import io.scalecube.services.auth.Secured;
1010
import reactor.core.publisher.Flux;
1111
import reactor.core.publisher.Mono;
1212

@@ -21,11 +21,11 @@ public interface SecuredService {
2121

2222
@ServiceMethod
2323
@RequestType(String.class)
24-
@Auth
24+
@Secured
2525
Mono<String> requestOne(String req);
2626

2727
@ServiceMethod
2828
@RequestType(Integer.class)
29-
@Auth
29+
@Secured
3030
Flux<String> requestN(Integer req);
3131
}

services-gateway-tests/src/test/java/io/scalecube/services/gateway/SecuredServiceImpl.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
public class SecuredServiceImpl implements SecuredService {
1515
private static final Logger LOGGER = LoggerFactory.getLogger(SecuredServiceImpl.class);
1616

17+
private static final String ALLOWED_USER = "VASYA_PUPKIN";
18+
1719
private final AuthRegistry authRegistry;
1820

1921
public SecuredServiceImpl(AuthRegistry authRegistry) {
@@ -38,6 +40,7 @@ public Mono<String> createSession(ServiceMessage request) {
3840
@Override
3941
public Mono<String> requestOne(String req) {
4042
return Mono.deferWithContext(context -> Mono.just(context.get(Authenticator.AUTH_CONTEXT_KEY)))
43+
.doOnNext(this::checkPermissions)
4144
.cast(String.class)
4245
.flatMap(
4346
auth -> {
@@ -49,6 +52,7 @@ public Mono<String> requestOne(String req) {
4952
@Override
5053
public Flux<String> requestN(Integer times) {
5154
return Mono.deferWithContext(context -> Mono.just(context.get(Authenticator.AUTH_CONTEXT_KEY)))
55+
.doOnNext(this::checkPermissions)
5256
.cast(String.class)
5357
.flatMapMany(
5458
auth -> {
@@ -58,4 +62,13 @@ public Flux<String> requestN(Integer times) {
5862
return Flux.fromStream(IntStream.range(0, times).mapToObj(String::valueOf));
5963
});
6064
}
65+
66+
private void checkPermissions(Object authData) {
67+
if (authData == null) {
68+
throw new ForbiddenException("Not allowed (authData is null)");
69+
}
70+
if (!authData.equals(ALLOWED_USER)) {
71+
throw new ForbiddenException("Not allowed (wrong user)");
72+
}
73+
}
6174
}

0 commit comments

Comments
 (0)