From ca6fb5e7cc8d7ad5dec1287d0fe875e6dcf28ebe Mon Sep 17 00:00:00 2001 From: Easy <crazybeginner@qq.com> Date: Tue, 15 Mar 2022 09:02:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E4=BA=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/http/acl/AclQueryPolicyActor.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/smqtt-core/src/main/java/io/github/quickmsg/core/http/acl/AclQueryPolicyActor.java b/smqtt-core/src/main/java/io/github/quickmsg/core/http/acl/AclQueryPolicyActor.java index 4f549d7..0fe94f4 100644 --- a/smqtt-core/src/main/java/io/github/quickmsg/core/http/acl/AclQueryPolicyActor.java +++ b/smqtt-core/src/main/java/io/github/quickmsg/core/http/acl/AclQueryPolicyActor.java @@ -16,6 +16,10 @@ import reactor.netty.http.server.HttpServerRequest; import reactor.netty.http.server.HttpServerResponse; import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author luxurong @@ -29,14 +33,16 @@ public class AclQueryPolicyActor extends AbstractHttpActor { @Override public Publisher<Void> doRequest(HttpServerRequest request, HttpServerResponse response, Configuration configuration) { - return request - .receive() - .asString(StandardCharsets.UTF_8) - .map(this.toJson(PolicyModel.class)) - .doOnNext(policyModel -> - response.sendString(Mono.just(JacksonUtil.bean2Json(ContextHolder.getReceiveContext().getAclManager().get(policyModel)))).then().subscribe() - ) - .then(); + return request.receive().asString(StandardCharsets.UTF_8).map(this.toJson(PolicyModel.class)).doOnNext(policyModel -> { + List<Map<String, Object>> collect = ContextHolder.getReceiveContext().getAclManager().get(policyModel).stream().map(item -> { + Map<String, Object> map = new HashMap<>(); + map.put("subject", item.size() >= 3 ? item.get(0) : null); + map.put("source", item.size() >= 3 ? item.get(1) : null); + map.put("action", item.size() >= 3 ? item.get(2) : null); + return map; + }).collect(Collectors.toList()); + response.sendString(Mono.just(JacksonUtil.bean2Json(collect))).then().subscribe(); + }).then(); } } -- GitLab