diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
index d84f7e5713e8..01cf04436bc1 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
@@ -60,6 +60,8 @@
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpUpgradeHandler;
import javax.servlet.http.Part;
+import javax.servlet.http.PushBuilder;
+import javax.servlet.http.HttpServletMapping;
import org.eclipse.jetty.http.BadMessageException;
import org.eclipse.jetty.http.HostPortHttpField;
@@ -2462,4 +2464,89 @@ public T upgrade(Class handlerClass) throws IO
{
throw new ServletException("HttpServletRequest.upgrade() not supported in Jetty");
}
+
+
+ public void setPathSpec(PathSpec pathSpec)
+ {
+ _pathSpec = pathSpec;
+ }
+
+ public PathSpec getPathSpec()
+ {
+ return _pathSpec;
+ }
+
+
+ // TODO replace with overriden version from API
+ public HttpServletMapping getMapping()
+ {
+ final PathSpec pathSpec = _pathSpec;
+ final MappingMatch match;
+ final String mapping;
+ if (pathSpec instanceof ServletPathSpec)
+ {
+ switch(((ServletPathSpec)pathSpec).getGroup())
+ {
+ case ROOT:
+ match = MappingMatch.CONTEXT_ROOT;
+ mapping = "";
+ break;
+ case DEFAULT:
+ match = MappingMatch.DEFAULT;
+ mapping = "/";
+ break;
+ case EXACT:
+ match = MappingMatch.EXACT;
+ mapping = _servletPath;
+ break;
+ case SUFFIX_GLOB:
+ match = MappingMatch.EXTENSION;
+ int dot = _servletPath.lastIndexOf('.');
+ mapping = _servletPath.substring(0,dot);
+ break;
+ case PREFIX_GLOB:
+ match = MappingMatch.PATH;
+ mapping = _servletPath;
+ break;
+ default:
+ match = null;
+ mapping = _servletPath;
+ break;
+ }
+ }
+ else
+ {
+ match = null;
+ mapping = _servletPath;
+ }
+
+ return new HttpServletMapping()
+ {
+ @Override
+ public String getMatchValue()
+ {
+ return mapping;
+ }
+
+ @Override
+ public String getPattern()
+ {
+ if (pathSpec!=null)
+ pathSpec.toString();
+ return null;
+ }
+
+ @Override
+ public String getServletName()
+ {
+ return Request.this.getServletName();
+ }
+
+ @Override
+ public MappingMatch getMappingMatch()
+ {
+ return match;
+ }
+ };
+ }
}
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java
index 357499546f1a..2439935c8234 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java
@@ -108,7 +108,7 @@ public enum OutputType
private OutputType _outputType = OutputType.NONE;
private ResponseWriter _writer;
private long _contentLength = -1;
- private Supplier trailers;
+ private Supplier _trailers;
private enum EncodingFrom { NOT_SET, INFERRED, SET_LOCALE, SET_CONTENT_TYPE, SET_CHARACTER_ENCODING }
private static final EnumSet __localeOverride = EnumSet.of(EncodingFrom.NOT_SET,EncodingFrom.INFERRED);
@@ -1314,12 +1314,27 @@ public void resetBuffer()
public void setTrailers(Supplier trailers)
{
- this.trailers = trailers;
+ this._trailers = trailers;
+ }
+
+ @Override
+ public void setTrailerFields(Supplier
*/
public class HostPort
{
- private final static boolean STRIP_IPV6 = Boolean.parseBoolean(System.getProperty("org.eclipse.jetty.util.HostPort.STRIP_IPV6","false"));
+ private final static boolean STRIP_IPV6 = Boolean.parseBoolean(System.getProperty("org.eclipse.jetty.util.HostPort.STRIP_IPV6","true"));
private final String _host;
private final int _port;
diff --git a/jetty-websocket/websocket-tests/src/main/java/org/eclipse/jetty/websocket/tests/LocalFuzzer.java b/jetty-websocket/websocket-tests/src/main/java/org/eclipse/jetty/websocket/tests/LocalFuzzer.java
index 0c8560008e65..7674239cc90b 100644
--- a/jetty-websocket/websocket-tests/src/main/java/org/eclipse/jetty/websocket/tests/LocalFuzzer.java
+++ b/jetty-websocket/websocket-tests/src/main/java/org/eclipse/jetty/websocket/tests/LocalFuzzer.java
@@ -131,7 +131,7 @@ public void assertExpected(BlockingQueue framesQueue, List1.2
1.1.3.v20160715
8.5.9.1
+ 4.0.0-b07
undefined