From 79729e6ba1ce5301c0554f6b75add63ccd08894c Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Fri, 22 Jul 2022 21:59:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=88=E5=AF=B9http=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=89=8D=E7=BD=AE=E5=A4=84=E7=90=86=E4=BC=98=E5=8C=96.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asgc/neutrino/core/web/HttpRequestHandler.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/HttpRequestHandler.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/HttpRequestHandler.java index 7240910a..d64af8ab 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/HttpRequestHandler.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/HttpRequestHandler.java @@ -68,6 +68,7 @@ public class HttpRequestHandler { HttpRouteResult httpRouteResult = defaultHttpRouter.route(new HttpRouteParam().setMethod(httpMethod).setUrl(routePath)); if (null == httpRouteResult) { HttpServerUtil.send404Response(context, requestParser.getUrl()); + release(); return; } if (HttpRouterType.METHOD == httpRouteResult.getType()) { @@ -82,7 +83,9 @@ public class HttpRequestHandler { context.writeAndFlush(fullHttpResponse).addListener(ChannelFutureListener.CLOSE); return; } catch (Exception e) { - // TODO + log.error("Http处理异常", e); + } finally { + release(); } } else if(HttpRouterType.PAGE == httpRouteResult.getType()) { // 前端页面 @@ -96,14 +99,20 @@ public class HttpRequestHandler { fullHttpResponse.headers().add(HttpHeaderNames.SERVER, MetaDataConstant.SERVER_VS); fullHttpResponse.headers().add(HttpHeaderNames.DATE, new Date()); context.writeAndFlush(fullHttpResponse).addListener(ChannelFutureListener.CLOSE); + release(); return; } else { // TODO HttpServerUtil.send404Response(context, requestParser.getUrl()); + release(); return; } } + private void release() { + HttpContextHolder.remove(); + } + private String getRoutePath(String url) { String httpContextPath = getHttpContextPath(); if (StringUtil.isEmpty(httpContextPath)) {