Skip to content

Commit

Permalink
Updates for 12.0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
joakime committed Jan 11, 2024
1 parent 488e302 commit c55931c
Show file tree
Hide file tree
Showing 62 changed files with 622 additions and 546 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ on:
- '9.4.x'
- '10.0.x'
- '11.0.x'
- '12.0.x'
pull_request:

jobs:
build:
name: Build
uses: jetty/.github/.github/workflows/maven-ci.yml@main
with:
jdk-matrix: '[ "11", "21" ]'
jdk-matrix: '[ "17", "21" ]'
10 changes: 5 additions & 5 deletions embedded/client-certificates/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.jetty.examples.embedded</groupId>
<artifactId>jetty-embedded-examples</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
</parent>
<artifactId>client-certificates</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
<packaging>jar</packaging>
<name>Jetty Examples :: Jetty 11.0.x :: Embedded :: Client Certificates</name>
<name>Jetty Examples :: Jetty 12.0.x :: Embedded :: Client Certificates</name>

<dependencies>
<dependency>
Expand All @@ -19,8 +19,8 @@
</dependency>

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,20 @@

package examples;

import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;

import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.SecureRequestCustomizer;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.SecuredRedirectHandler;
import org.eclipse.jetty.util.resource.Resource;
import org.eclipse.jetty.util.resource.ResourceFactory;
import org.eclipse.jetty.util.resource.Resources;
import org.eclipse.jetty.util.ssl.SslContextFactory;

/**
Expand All @@ -48,7 +49,7 @@ public static void main(String[] args) throws Exception

// Setup SSL
SslContextFactory.Server sslContextFactory = new SslContextFactory.Server();
sslContextFactory.setKeyStoreResource(findKeyStore());
sslContextFactory.setKeyStoreResource(findKeyStore(ResourceFactory.of(server)));
sslContextFactory.setKeyStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4");
sslContextFactory.setKeyManagerPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g");
sslContextFactory.setWantClientAuth(true); // Turn on javax.net.ssl.SSLEngine.wantClientAuth
Expand All @@ -69,7 +70,7 @@ public static void main(String[] args) throws Exception
server.addConnector(httpsConnector);

// Add a Handlers for requests
HandlerList handlers = new HandlerList();
Handler.Sequence handlers = new Handler.Sequence();
handlers.addHandler(new SecuredRedirectHandler());
handlers.addHandler(new HelloHandler("Hello Secure World"));
server.setHandler(handlers);
Expand All @@ -78,16 +79,14 @@ public static void main(String[] args) throws Exception
server.join();
}

private static Resource findKeyStore() throws URISyntaxException, MalformedURLException
private static Resource findKeyStore(ResourceFactory resourceFactory)
{
ClassLoader cl = EnableClientCertificates.class.getClassLoader();
String keystoreResource = "ssl/keystore";
URL f = cl.getResource(keystoreResource);
if (f == null)
String resourceName = "ssl/keystore";
Resource resource = resourceFactory.newClassLoaderResource(resourceName);
if (Resources.isReadableFile(resource))
{
throw new RuntimeException("Unable to find " + keystoreResource);
throw new RuntimeException("Unable to read " + resourceName);
}

return Resource.newResource(f.toURI());
return resource;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,16 @@
// ========================================================================
//

import java.io.IOException;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.nio.charset.StandardCharsets;

import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.util.BufferUtil;
import org.eclipse.jetty.util.Callback;

public class HelloHandler extends AbstractHandler
public class HelloHandler extends Handler.Abstract
{
private final String msg;

Expand All @@ -29,10 +30,10 @@ public HelloHandler(String msg)
}

@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
public boolean handle(Request request, Response response, Callback callback) throws Exception
{
response.setContentType("text/plain");
response.getWriter().printf("%s%n", msg);
baseRequest.setHandled(true);
response.getHeaders().put(HttpHeader.CONTENT_TYPE, "text/plain; charset=utf-8");
response.write(true, BufferUtil.toBuffer(String.format("%s%n", msg), StandardCharsets.UTF_8), callback);
return true;
}
}
10 changes: 5 additions & 5 deletions embedded/client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.jetty.examples.embedded</groupId>
<artifactId>jetty-embedded-examples</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
</parent>
<artifactId>client</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
<packaging>jar</packaging>
<name>Jetty Examples :: Jetty 11.0.x :: Embedded :: Client</name>
<name>Jetty Examples :: Jetty 12.0.x :: Embedded :: Client</name>

<dependencies>
<dependency>
Expand All @@ -24,12 +24,12 @@
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-client</artifactId>
<artifactId>jetty-http2-client</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-http-client-transport</artifactId>
<artifactId>jetty-http2-client-transport</artifactId>
<version>${jetty.version}</version>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
package examples;

import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.api.ContentResponse;
import org.eclipse.jetty.client.dynamic.HttpClientTransportDynamic;
import org.eclipse.jetty.client.http.HttpClientConnectionFactory;
import org.eclipse.jetty.client.ContentResponse;
import org.eclipse.jetty.client.transport.HttpClientConnectionFactory;
import org.eclipse.jetty.client.transport.HttpClientTransportDynamic;
import org.eclipse.jetty.http2.client.HTTP2Client;
import org.eclipse.jetty.http2.client.http.ClientConnectionFactoryOverHTTP2;
import org.eclipse.jetty.http2.client.transport.ClientConnectionFactoryOverHTTP2;
import org.eclipse.jetty.io.ClientConnectionFactory;
import org.eclipse.jetty.io.ClientConnector;
import org.eclipse.jetty.util.ssl.SslContextFactory;
Expand All @@ -36,10 +36,10 @@ public static void main(String[] args) throws Exception
ClientConnector clientConnector = new ClientConnector();
clientConnector.setSslContextFactory(sslContextFactory);

ClientConnectionFactory.Info h1 = HttpClientConnectionFactory.HTTP11;
ClientConnectionFactory.Info http1Info = HttpClientConnectionFactory.HTTP11;
HTTP2Client http2Client = new HTTP2Client(clientConnector);
ClientConnectionFactory.Info h2 = new ClientConnectionFactoryOverHTTP2.HTTP2(http2Client);
HttpClientTransportDynamic dynamicTransport = new HttpClientTransportDynamic(clientConnector, h1, h2);
ClientConnectionFactoryOverHTTP2.HTTP2 http2Info = new ClientConnectionFactoryOverHTTP2.HTTP2(http2Client);
HttpClientTransportDynamic dynamicTransport = new HttpClientTransportDynamic(clientConnector, http1Info, http2Info);

HttpClient httpClient = new HttpClient(dynamicTransport);
try
Expand Down
10 changes: 5 additions & 5 deletions embedded/compressed-encoding/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.jetty.examples.embedded</groupId>
<artifactId>jetty-embedded-examples</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
</parent>
<artifactId>compressed-encoding</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
<packaging>jar</packaging>
<name>Jetty Examples :: Jetty 11.0.x :: Embedded :: HTML Compressed Encoding</name>
<name>Jetty Examples :: Jetty 12.0.x :: Embedded :: HTML Compressed Encoding</name>

<dependencies>
<dependency>
Expand All @@ -19,8 +19,8 @@
</dependency>

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,15 @@

package examples;

import java.io.File;
import java.net.URI;
import java.net.URL;
import java.nio.file.Path;

import org.eclipse.jetty.ee10.servlet.DefaultServlet;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.gzip.GzipHandler;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.resource.PathResource;
import org.eclipse.jetty.util.resource.ResourceFactory;

public class GzipRequestResponseExample
{
Expand Down Expand Up @@ -56,8 +54,9 @@ public static void main(String[] args) throws Exception

ServletContextHandler context = new ServletContextHandler();
gzip.setHandler(context);

context.setContextPath("/");
context.setBaseResource(new PathResource(webRootUri));
context.setBaseResource(ResourceFactory.of(context).newResource(webRootUri));
context.setWelcomeFiles(new String[]{"index.html"});

// Adding Servlets
Expand Down
10 changes: 5 additions & 5 deletions embedded/connectors/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.jetty.examples.embedded</groupId>
<artifactId>jetty-embedded-examples</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
</parent>
<artifactId>connectors</artifactId>
<version>11.0.x</version>
<version>12.0.x</version>
<packaging>jar</packaging>
<name>Jetty Examples :: Jetty 11.0.x :: Embedded :: Connectors</name>
<name>Jetty Examples :: Jetty 12.0.x :: Embedded :: Connectors</name>

<dependencies>
<dependency>
Expand All @@ -19,8 +19,8 @@
</dependency>

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
// ========================================================================
//

import java.util.List;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.ContextHandler;
Expand Down Expand Up @@ -40,14 +42,14 @@ public static void main(String[] args) throws Exception
ContextHandler ctxHelloA = new ContextHandler();
ctxHelloA.setContextPath("/");
ctxHelloA.setHandler(new HelloHandler("Hello Connection A"));
ctxHelloA.setVirtualHosts(new String[]{"@connA"}); // Reference connector name
ctxHelloA.setVirtualHosts(List.of("@connA")); // Reference connector name
contexts.addHandler(ctxHelloA);

// Hello Handler (connection B)
ContextHandler ctxHelloB = new ContextHandler();
ctxHelloB.setContextPath("/");
ctxHelloB.setHandler(new HelloHandler("Greetings from Connection B"));
ctxHelloB.setVirtualHosts(new String[]{"@connB"}); // Reference connector name
ctxHelloB.setVirtualHosts(List.of("@connB")); // Reference connector name
contexts.addHandler(ctxHelloB);

server.start();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@
// ========================================================================
//

import java.util.List;

import org.eclipse.jetty.ee10.webapp.WebAppContext;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;

public class ConnectorSpecificWebapps
{
Expand All @@ -33,21 +35,21 @@ public static void main(String[] args) throws Exception
server.addConnector(connectorB);

// Basic handler collection
HandlerCollection contexts = new HandlerCollection();
ContextHandlerCollection contexts = new ContextHandlerCollection();
server.setHandler(contexts);

// WebApp A
WebAppContext appA = new WebAppContext();
appA.setContextPath("/a");
appA.setWar("./src/main/webapps/webapp-a/");
appA.setVirtualHosts(new String[]{"@connA"}); // Reference connector name
appA.setVirtualHosts(List.of("@connA")); // Reference connector name
contexts.addHandler(appA);

// WebApp B
WebAppContext appB = new WebAppContext();
appB.setContextPath("/b");
appB.setWar("./src/main/webapps/webapp-b/");
appB.setVirtualHosts(new String[]{"@connB"}); // Reference connector name
appB.setVirtualHosts(List.of("@connB")); // Reference connector name
contexts.addHandler(appB);

server.start();
Expand Down
21 changes: 11 additions & 10 deletions embedded/connectors/src/main/java/examples/HelloHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,16 @@
// ========================================================================
//

import java.io.IOException;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.nio.charset.StandardCharsets;

import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.util.BufferUtil;
import org.eclipse.jetty.util.Callback;

public class HelloHandler extends AbstractHandler
public class HelloHandler extends Handler.Abstract
{
private final String msg;

Expand All @@ -29,10 +30,10 @@ public HelloHandler(String msg)
}

@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
public boolean handle(Request request, Response response, Callback callback) throws Exception
{
response.setContentType("text/plain");
response.getWriter().printf("%s%n", msg);
baseRequest.setHandled(true);
response.getHeaders().put(HttpHeader.CONTENT_TYPE, "text/plain; charset=utf-8");
response.write(true, BufferUtil.toBuffer(String.format("%s%n", msg), StandardCharsets.UTF_8), callback);
return true;
}
}
Loading

0 comments on commit c55931c

Please sign in to comment.