From e16f5fdfbc1c49f4c519f05b190e96e497253b51 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 13 十一月 2024 17:32:14 +0800 Subject: [PATCH] 1 --- src/main/java/com/moon/server/helper/HttpHelper.java | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/moon/server/helper/HttpHelper.java b/src/main/java/com/moon/server/helper/HttpHelper.java index 001a069..1c02ea0 100644 --- a/src/main/java/com/moon/server/helper/HttpHelper.java +++ b/src/main/java/com/moon/server/helper/HttpHelper.java @@ -270,6 +270,10 @@ if (null == entity) { return; } + if (null == res) { + entity.writeTo(response.getOutputStream()); + return; + } switch (res.getCategory()) { case 2: @@ -297,16 +301,21 @@ int index = str.indexOf(StaticData.QUERYABLE); while (index > -1) { - int start = str.indexOf("<Name>", index) + StaticData.I6; int end = str.indexOf("</Layer>", index) + StaticData.I8; + int nameStart = str.indexOf("<Name>", index); + int nameEnd = str.indexOf("</Name>", nameStart); - String name = ":" + str.substring(start, str.indexOf("</Name>", start)); - if (!res.getTab().contains(name)) { + String name = ":" + str.substring(nameStart + StaticData.I6, nameEnd); + int idx = res.getTab().indexOf(name); + if (idx > -1) { + int preIdx = res.getTab().lastIndexOf(",", idx) + 1; + String prefix = res.getTab().substring(preIdx, idx); + str = str.substring(0, nameStart + StaticData.I6) + prefix + name + str.substring(nameEnd); + index = str.indexOf(StaticData.QUERYABLE, end); + } else { end = str.indexOf("<", end); str = str.substring(0, index) + str.substring(end); index = str.indexOf(StaticData.QUERYABLE, index); - } else { - index = str.indexOf(StaticData.QUERYABLE, end); } } -- Gitblit v1.9.3