diff --git a/src/main/java/org/redkale/net/http/HttpDispatcherServlet.java b/src/main/java/org/redkale/net/http/HttpDispatcherServlet.java index 2ec41f811..99612e821 100644 --- a/src/main/java/org/redkale/net/http/HttpDispatcherServlet.java +++ b/src/main/java/org/redkale/net/http/HttpDispatcherServlet.java @@ -152,12 +152,12 @@ public class HttpDispatcherServlet extends DispatcherServlet(); - String mapping = urlreg; + String mapping = urlRegx; if (Utility.contains(mapping, '*', '{', '[', '(', '|', '^', '$', '+', '?', '\\')) { //是否是正则表达式)) if (mapping.endsWith("/*")) { mapping = mapping.substring(0, mapping.length() - 1) + ".*"; @@ -171,7 +171,7 @@ public class HttpDispatcherServlet extends DispatcherServlet predicate = (prefix, uri) -> { return begin || prefix.isEmpty() ? regPredicate.test(uri) : uri.matches(prefix + reg); }; - forbidURIMaps.put(urlreg, predicate); + forbidURIMaps.put(urlRegx, predicate); forbidURIPredicates = Utility.append(forbidURIPredicates, predicate); return true; } @@ -319,15 +319,15 @@ public class HttpDispatcherServlet extends DispatcherServlet newmappings = new HashMap<>(wsmappings); - newmappings.put(mappingpath, (WebSocketServlet) servlet); + newmappings.put(mappingPath, (WebSocketServlet) servlet); this.wsmappings = newmappings; } } - if (this.allMapStrings.containsKey(mappingpath)) { - Class old = this.allMapStrings.get(mappingpath); - throw new RuntimeException("mapping [" + mappingpath + "] repeat on " + old.getName() + " and " + servlet.getClass().getName()); + if (this.allMapStrings.containsKey(mappingPath)) { + Class old = this.allMapStrings.get(mappingPath); + throw new RuntimeException("mapping [" + mappingPath + "] repeat on " + old.getName() + " and " + servlet.getClass().getName()); } - this.allMapStrings.put(mappingpath, servlet.getClass()); + this.allMapStrings.put(mappingPath, servlet.getClass()); } setServletConf(servlet, conf); servlet._prefix = prefix.toString(); diff --git a/src/main/java/org/redkale/net/http/HttpRequest.java b/src/main/java/org/redkale/net/http/HttpRequest.java index 215dee11d..a9f7cebbc 100644 --- a/src/main/java/org/redkale/net/http/HttpRequest.java +++ b/src/main/java/org/redkale/net/http/HttpRequest.java @@ -55,6 +55,8 @@ public class HttpRequest extends Request { protected static final String KEY_HTTP_1_1 = "HTTP/1.1"; + protected static final String KEY_HTTP_2_0 = "HTTP/2.0"; + protected static final String KEY_COOKIE = "Cookie"; protected static final String KEY_CONNECTION = "Connection"; @@ -530,6 +532,8 @@ public class HttpRequest extends Request { size = bytes.length(); if (size == 8 && bytes.get(0) == 'H' && bytes.get(5) == '1' && bytes.get(7) == '1') { this.protocol = KEY_HTTP_1_1; + } else if (size == 8 && bytes.get(0) == 'H' && bytes.get(5) == '2' && bytes.get(7) == '0') { + this.protocol = KEY_HTTP_2_0; } else { this.protocol = bytes.toString(charset); } diff --git a/src/main/java/org/redkale/net/http/HttpResponse.java b/src/main/java/org/redkale/net/http/HttpResponse.java index c63708b97..555c8199c 100644 --- a/src/main/java/org/redkale/net/http/HttpResponse.java +++ b/src/main/java/org/redkale/net/http/HttpResponse.java @@ -68,8 +68,6 @@ public class HttpResponse extends Response { private static final ZoneId ZONE_GMT = ZoneId.of("GMT"); - private static final OpenOption[] options = new OpenOption[]{StandardOpenOption.READ}; - private static final Map httpCodes = new HashMap<>(); private static final byte[][] contentLengthArray = new byte[cacheMaxContentLength][]; @@ -936,32 +934,6 @@ public class HttpResponse extends Response { super.finish(false, data.content(), 0, data.length()); } } - -// ByteArray data = headerArray; -// int pipelineIndex = request.getPipelineIndex(); -// if (pipelineIndex > 0) { -// boolean over = this.channel.writePipelineData(pipelineIndex, request.getPipelineCount(), data.content(), 0, data.length(), bs, offset, length); -// if (callback != null) callback.accept(attachment); -// if (cacheHandler != null) cacheHandler.accept(this, Utility.append(data.getBytes(), bs, offset, length)); -// -// if (over) { -// request.setPipelineOver(true); -// this.channel.flushPipelineData(this.pipelineWriteHandler); -// } else { -// removeChannel(); -// this.responseConsumer.accept(this); -// } -// } else { -// if (this.channel.hasPipelineData()) { -// this.channel.writePipelineData(pipelineIndex, request.getPipelineCount(), data.content(), 0, data.length(), bs, offset, length); -// if (callback != null) callback.accept(attachment); -// if (cacheHandler != null) cacheHandler.accept(this, Utility.append(data.getBytes(), bs, offset, length)); -// this.channel.flushPipelineData(this.pipelineWriteHandler); -// } else { -// //不能用finish(boolean kill, final ByteTuple array) 否则会调this.finish -// super.finish(false, data.content(), 0, data.length(), bs, offset, length, callback, attachment); -// } -// } } @Override diff --git a/src/main/java/org/redkale/net/http/HttpServer.java b/src/main/java/org/redkale/net/http/HttpServer.java index 31aa5656a..62195e689 100644 --- a/src/main/java/org/redkale/net/http/HttpServer.java +++ b/src/main/java/org/redkale/net/http/HttpServer.java @@ -130,7 +130,7 @@ public class HttpServer extends Server + * 配合 HttpServlet 使用 + * 用于指定HttpRequest.currentUser的数据类型
* 注意: 数据类型是JavaBean, 不能是基本数据类型、String、byte[]、File等Java内置的数据类型 * *