From 49b1b6a69073095859c7e692f4e5908144eb4ae6 Mon Sep 17 00:00:00 2001 From: jasmine <362055143@qq.com> Date: Wed, 2 Apr 2025 08:39:30 +0000 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E6=B7=BB=E5=8A=A0=20Undertow=20?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=85=8D=E7=BD=AE=E5=92=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E9=85=8D=E7=BD=AE=EF=BC=8C=E9=BB=98=E8=AE=A4=E7=A6=81?= =?UTF-8?q?=E6=AD=A2=E4=B8=89=E4=B8=AA=E4=B8=8D=E5=AE=89=E5=85=A8=E7=9A=84?= =?UTF-8?q?=20HTTP=20=E6=96=B9=E6=B3=95=EF=BC=88=E5=A6=82=20CONNECT?= =?UTF-8?q?=E3=80=81TRACE=E3=80=81TRACK=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../container/UndertowAutoConfiguration.java | 61 +++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 3 +- .../src/main/resources/default-web.yml | 19 +++++- 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/container/UndertowAutoConfiguration.java diff --git a/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/container/UndertowAutoConfiguration.java b/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/container/UndertowAutoConfiguration.java new file mode 100644 index 00000000..2a90dead --- /dev/null +++ b/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/container/UndertowAutoConfiguration.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *
+ * http://www.gnu.org/licenses/lgpl.html + *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package top.continew.starter.web.autoconfigure.container;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
+import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
+import org.springframework.boot.web.server.WebServerFactoryCustomizer;
+import org.springframework.context.annotation.Bean;
+
+import io.undertow.Undertow;
+import io.undertow.server.handlers.DisallowedMethodsHandler;
+import io.undertow.util.HttpString;
+
+/**
+ * Undertow 自定义配置
+ *
+ * @author Jasmine
+ * @since 2.11.0
+ */
+@AutoConfiguration
+@ConditionalOnWebApplication
+@ConditionalOnClass(Undertow.class)
+public class UndertowAutoConfiguration {
+
+ private static final Logger log = LoggerFactory.getLogger(UndertowAutoConfiguration.class);
+
+ /**
+ * Undertow 自定义配置
+ */
+ @Bean
+ public WebServerFactoryCustomizer