From a92d375d41b338b5c48c4a7d5d956682261b8a0b Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Fri, 6 May 2022 17:40:32 +0000 Subject: [PATCH] Include last modified date in HTTP headers for caching scheme. --- Love_Live!_Logo.png | Bin 0 -> 12167 bytes out/DIRECTORY_LISTING | 12 ++++++------ out/articles/DIRECTORY_LISTING | 10 +++++----- out/articles/test articles/DIRECTORY_LISTING | 12 ++++++------ out/codeBackground | 2 +- sigPlace.class | Bin 0 -> 13786 bytes sigServer.class | Bin 0 -> 6139 bytes sigServer.java | 18 ++++++++++++++++-- 8 files changed, 34 insertions(+), 20 deletions(-) create mode 100644 Love_Live!_Logo.png create mode 100644 sigPlace.class create mode 100644 sigServer.class diff --git a/Love_Live!_Logo.png b/Love_Live!_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd1d5caf139c42c479625fc9f1da780bccdb4f5 GIT binary patch literal 12167 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
-

Directory Listing for /

📁articles 2022-05-05T20:16:24.546334Z gitpod 190
-
🗎codeBackground 2022-05-05T20:16:24.478334Z gitpod 2635
-
🗎otherpage.html 2022-05-05T20:16:24.522334Z gitpod 8892
-
🗎reset.css 2022-05-05T20:16:24.486334Z gitpod 1093
-
🗎sig.css 2022-05-05T20:16:24.498334Z gitpod 4702
-
🗎testfile.html 2022-05-05T20:16:24.522334Z gitpod 829
+

Directory Listing for /

📁articles 2022-05-06T16:14:07.054613Z gitpod 190
+
🗎codeBackground 2022-05-06T16:14:07.010613Z gitpod 2635
+
🗎otherpage.html 2022-05-06T16:14:07.038613Z gitpod 8892
+
🗎reset.css 2022-05-06T16:14:07.014613Z gitpod 1093
+
🗎sig.css 2022-05-06T16:14:07.022613Z gitpod 4702
+
🗎testfile.html 2022-05-06T16:14:07.038613Z gitpod 829
diff --git a/out/articles/DIRECTORY_LISTING b/out/articles/DIRECTORY_LISTING index eb3a98b..fd35661 100644 --- a/out/articles/DIRECTORY_LISTING +++ b/out/articles/DIRECTORY_LISTING @@ -18,11 +18,11 @@
-

Directory Listing for /articles/

🗎curabitur vel tempus ex.article 2022-05-05T20:16:24.462334Z gitpod 579
-
🗎sigplace1.article 2022-05-05T20:16:24.470334Z gitpod 3807
-
📁test articles 2022-05-05T20:16:24.538334Z gitpod 147
-
🗎curabitur vel tempus ex.article.html 2022-05-05T20:16:24.530334Z gitpod 1296
-
🗎sigplace1.article.html 2022-05-05T20:16:24.530334Z gitpod 4524
+

Directory Listing for /articles/

🗎curabitur vel tempus ex.article 2022-05-06T16:14:06.994613Z gitpod 579
+
🗎sigplace1.article 2022-05-06T16:14:06.998613Z gitpod 3807
+
📁test articles 2022-05-06T16:14:07.050613Z gitpod 147
+
🗎curabitur vel tempus ex.article.html 2022-05-06T16:14:07.042613Z gitpod 1296
+
🗎sigplace1.article.html 2022-05-06T16:14:07.046613Z gitpod 4524
diff --git a/out/articles/test articles/DIRECTORY_LISTING b/out/articles/test articles/DIRECTORY_LISTING index f93c4be..affdcad 100644 --- a/out/articles/test articles/DIRECTORY_LISTING +++ b/out/articles/test articles/DIRECTORY_LISTING @@ -18,12 +18,12 @@
-

Directory Listing for /articles/test articles/

🗎test1.article 2022-05-05T20:16:24.470334Z gitpod 1068
-
🗎test2.article 2022-05-05T20:16:24.474334Z gitpod 764
-
🗎test3.article 2022-05-05T20:16:24.474334Z gitpod 977
-
🗎test1.article.html 2022-05-05T20:16:24.534334Z gitpod 1785
-
🗎test2.article.html 2022-05-05T20:16:24.538334Z gitpod 1481
-
🗎test3.article.html 2022-05-05T20:16:24.538334Z gitpod 1694
+

Directory Listing for /articles/test articles/

🗎test1.article 2022-05-06T16:14:07.002613Z gitpod 1068
+
🗎test2.article 2022-05-06T16:14:07.002613Z gitpod 764
+
🗎test3.article 2022-05-06T16:14:07.002613Z gitpod 977
+
🗎test1.article.html 2022-05-06T16:14:07.046613Z gitpod 1785
+
🗎test2.article.html 2022-05-06T16:14:07.046613Z gitpod 1481
+
🗎test3.article.html 2022-05-06T16:14:07.050613Z gitpod 1694
diff --git a/out/codeBackground b/out/codeBackground index c02f732..b1ffc55 100644 --- a/out/codeBackground +++ b/out/codeBackground @@ -37,4 +37,4 @@ } } while (!(line=in.readLine()).isBlank()) { - //System.out.println(line); + System.out.println(line); diff --git a/sigPlace.class b/sigPlace.class new file mode 100644 index 0000000000000000000000000000000000000000..b4ef93b6f6d1e8b6bdb01494cdbc3f04ae0fa10f GIT binary patch literal 13786 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 T&8pp^+VfPqO|_S*_NxB}7!ZkX literal 0 HcmV?d00001 diff --git a/sigServer.class b/sigServer.class new file mode 100644 index 0000000000000000000000000000000000000000..44647eaa35b4063402ec0112f30fe379805e052a GIT binary patch literal 6139 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 literal 0 HcmV?d00001 diff --git a/sigServer.java b/sigServer.java index bc2a2de..8398570 100644 --- a/sigServer.java +++ b/sigServer.java @@ -10,7 +10,13 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.nio.file.attribute.FileTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.TextStyle; import java.util.HashMap; +import java.util.Locale; import java.util.regex.Pattern; public class sigServer { @@ -55,7 +61,7 @@ public class sigServer { } } while (!(line=in.readLine()).isBlank()) { - //System.out.println(line); + System.out.println(line); } } } catch(SocketException|NullPointerException e) { @@ -68,9 +74,17 @@ public class sigServer { } private void CreateRawRequest(OutputStream stream, String statusCode, String statusMsg, String contentType, byte[] content) { + CreateRawRequest(stream, statusCode, statusMsg, contentType, content,null); + } + + private void CreateRawRequest(OutputStream stream, String statusCode, String statusMsg, String contentType, byte[] content, FileTime lastModified) { try { stream.write(("HTTP/1.1 "+statusCode+" "+statusMsg+"\r\n").getBytes()); stream.write(("ContentType: "+contentType+"\r\n").getBytes()); + if (lastModified!=null) { + ZonedDateTime date = lastModified.toInstant().atZone(ZoneId.of("GMT")); + stream.write(("Last-Modified: "+date.format(DateTimeFormatter.RFC_1123_DATE_TIME)+"\r\n").getBytes()); + } stream.write("\r\n".getBytes()); stream.write(content); } catch (IOException e) { @@ -89,7 +103,7 @@ public class sigServer { CreateRawRequest(clientOutput,statusCode,statusMsg,"text/html",Files.readAllBytes(Paths.get(sigPlace.OUTDIR,string,sigPlace.DIRECTORYLISTING_FILENAME))); clientOutput.write(("
Webpage generated in "+(System.currentTimeMillis()-startTime)+"ms
\r\n").getBytes()); } else { - CreateRawRequest(clientOutput,statusCode,statusMsg,Files.probeContentType(file),Files.readAllBytes(file)); + CreateRawRequest(clientOutput,statusCode,statusMsg,Files.probeContentType(file),Files.readAllBytes(file),Files.getLastModifiedTime(file)); String contentType = Files.probeContentType(file); if (contentType!=null&&contentType.equals("text/html")) { clientOutput.write(("
Webpage generated in "+(System.currentTimeMillis()-startTime)+"ms
\r\n").getBytes());