From ed7ce80565fbbf8317e512aa01189242a11b6456 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Thu, 3 May 2018 21:04:23 +0800 Subject: [PATCH] --- src/org/redkale/net/http/HttpResponse.java | 6 +++--- src/org/redkale/net/http/HttpServer.java | 15 +++++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/org/redkale/net/http/HttpResponse.java b/src/org/redkale/net/http/HttpResponse.java index ae77a870a..792767c2e 100644 --- a/src/org/redkale/net/http/HttpResponse.java +++ b/src/org/redkale/net/http/HttpResponse.java @@ -134,7 +134,7 @@ public class HttpResponse extends Response { private final boolean autoOptions; - private final Supplier dateSupplier; + private final Supplier dateSupplier; private final HttpCookie defcookie; @@ -151,7 +151,7 @@ public class HttpResponse extends Response { public HttpResponse(HttpContext context, HttpRequest request, String plainContentType, String jsonContentType, String[][] defaultAddHeaders, String[][] defaultSetHeaders, - HttpCookie defcookie, boolean autoOptions, Supplier dateSupplier, List< HttpRender> renders) { + HttpCookie defcookie, boolean autoOptions, Supplier dateSupplier, List< HttpRender> renders) { super(context, request); this.plainContentType = plainContentType == null || plainContentType.isEmpty() ? "text/plain; charset=utf-8" : plainContentType; this.jsonContentType = jsonContentType == null || jsonContentType.isEmpty() ? "application/json; charset=utf-8" : jsonContentType; @@ -874,7 +874,7 @@ public class HttpResponse extends Response { buffer.put(("Content-Type: " + (this.contentType == null ? this.plainContentType : this.contentType) + "\r\n").getBytes()); } buffer.put(serverNameBytes); - if (dateSupplier != null) buffer.put(("Date: " + dateSupplier.get() + "\r\n").getBytes()); + if (dateSupplier != null) buffer.put(dateSupplier.get()); buffer.put(this.request.isKeepAlive() ? connectAliveBytes : connectCloseBytes); if (this.defaultAddHeaders != null) { diff --git a/src/org/redkale/net/http/HttpServer.java b/src/org/redkale/net/http/HttpServer.java index d2b669912..4d727ea0d 100644 --- a/src/org/redkale/net/http/HttpServer.java +++ b/src/org/redkale/net/http/HttpServer.java @@ -33,7 +33,7 @@ public class HttpServer extends Server dateSupplier0 = null; + Supplier dateSupplier0 = null; if (datePeriod == 0) { final ZoneId gmtZone = ZoneId.of("GMT"); - dateSupplier0 = () -> RFC_1123_DATE_TIME.format(java.time.ZonedDateTime.now(gmtZone)); + dateSupplier0 = () -> ("Date: " + RFC_1123_DATE_TIME.format(java.time.ZonedDateTime.now(gmtZone)) + "\r\n").getBytes(); } else if (datePeriod > 0) { if (this.dateScheduler == null) { this.dateScheduler = new ScheduledThreadPoolExecutor(1, (Runnable r) -> { @@ -409,17 +409,17 @@ public class HttpServer extends Server { - currDateString = gmtDateFormat.format(new Date()); + currDateBytes = ("Date: " + gmtDateFormat.format(new Date()) + "\r\n").getBytes(); }, 1000 - System.currentTimeMillis() % 1000, datePeriod, TimeUnit.MILLISECONDS); - dateSupplier0 = () -> currDateString; + dateSupplier0 = () -> currDateBytes; } } final HttpCookie defCookie = defaultCookie; final String addrHeader = remoteAddrHeader; - final Supplier dateSupplier = dateSupplier0; + final Supplier dateSupplier = dateSupplier0; AtomicLong createResponseCounter = new AtomicLong(); AtomicLong cycleResponseCounter = new AtomicLong(); ObjectPool responsePool = HttpResponse.createPool(createResponseCounter, cycleResponseCounter, this.responsePoolSize, null); @@ -430,5 +430,4 @@ public class HttpServer extends Server