/* * SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve * Copyright (C) 2013-2026 SteVe Community Team * All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package de.rwth.idsg.steve.config; import org.eclipse.jetty.http.HttpCompliance; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.ServerConnector; import org.springframework.boot.jetty.JettyServerCustomizer; import org.springframework.boot.jetty.servlet.JettyServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class JettyConfiguration { @Bean public WebServerFactoryCustomizer jettyHttpComplianceCustomizer() { return factory -> factory.addServerCustomizers((JettyServerCustomizer) server -> { for (var connector : server.getConnectors()) { if (connector instanceof ServerConnector serverConnector) { for (var cf : serverConnector.getConnectionFactories()) { if (cf instanceof HttpConnectionFactory httpCF) { httpCF.getHttpConfiguration().setHttpCompliance(HttpCompliance.RFC7230_LEGACY); } } } } }); } }