44import io .prometheus .client .servlet .jakarta .exporter .MetricsServlet ;
55import java .io .FileReader ;
66import java .util .EnumSet ;
7+ import org .eclipse .jetty .ee10 .servlet .ServletContextHandler ;
8+ import org .eclipse .jetty .ee10 .servlet .ServletHolder ;
79import org .eclipse .jetty .http .HttpMethod ;
810import org .eclipse .jetty .server .HttpConfiguration ;
911import org .eclipse .jetty .server .HttpConnectionFactory ;
1012import org .eclipse .jetty .server .Server ;
1113import org .eclipse .jetty .server .ServerConnector ;
12- import org .eclipse .jetty .servlet .ServletContextHandler ;
13- import org .eclipse .jetty .servlet .ServletHolder ;
1414
1515public class WebServer {
1616
@@ -35,19 +35,22 @@ public static void main(String[] args) throws Exception {
3535 int port = Integer .parseInt (args [0 ]);
3636 Server server = new Server ();
3737 HttpConfiguration httpConfig = new HttpConfiguration ();
38- httpConfig .addCustomizer (new DisallowHttpMethods (EnumSet .of (HttpMethod .TRACE )));
3938 ServerConnector connector = new ServerConnector (server , new HttpConnectionFactory (httpConfig ));
4039 connector .setPort (port );
4140 server .addConnector (connector );
4241
4342 ServletContextHandler context = new ServletContextHandler ();
4443 context .setContextPath ("/" );
45- server .setHandler (context );
4644 context .addServlet (new ServletHolder (new MetricsServlet ()), "/metrics" );
4745 context .addServlet (new ServletHolder (new DynamicReloadServlet (collector )), "/-/reload" );
4846 context .addServlet (new ServletHolder (new HealthServlet ()), "/-/healthy" );
4947 context .addServlet (new ServletHolder (new HealthServlet ()), "/-/ready" );
5048 context .addServlet (new ServletHolder (new HomePageServlet ()), "/" );
49+
50+ DisallowHttpMethods disallowHandler = new DisallowHttpMethods (EnumSet .of (HttpMethod .TRACE ));
51+ disallowHandler .setHandler (context );
52+ server .setHandler (disallowHandler );
53+
5154 server .start ();
5255 server .join ();
5356 }
0 commit comments