|
7 | 7 | import java.io.OutputStream; |
8 | 8 | import java.nio.charset.StandardCharsets; |
9 | 9 | import java.nio.file.Files; |
10 | | -import java.util.Collection; |
11 | 10 | import java.util.List; |
12 | 11 | import model.User; |
13 | 12 |
|
@@ -48,8 +47,12 @@ public static HttpResponse ok() { |
48 | 47 | public static HttpResponse ok(String viewName) throws IOException { |
49 | 48 | byte[] messageBody = Files.readAllBytes(new File("./webapp" + viewName).toPath()); |
50 | 49 | StatusLine statusLine = new StatusLine(new HttpVersion("HTTP/1.1"), HttpResponseStatus.OK); |
| 50 | + String[] urlTokens = viewName.split("\\."); |
| 51 | + String extension = urlTokens[urlTokens.length - 1]; |
| 52 | + |
51 | 53 | ResponseHeaders responseHeaders = new ResponseHeaders(); |
52 | | - responseHeaders.setContentType("text/html;charset=utf-8"); |
| 54 | + responseHeaders.setContentType("text/"+extension+";charset=utf-8"); |
| 55 | + responseHeaders.setAccept("text/"+extension+", */*; q=0.1"); |
53 | 56 | responseHeaders.setContentLength(messageBody.length); |
54 | 57 | ResponseMessageBody responseMessageBody = new ResponseMessageBody(messageBody); |
55 | 58 | return new HttpResponse(statusLine, responseHeaders, responseMessageBody); |
@@ -103,6 +106,16 @@ public static HttpResponse found(String redirectURI, boolean cookie) { |
103 | 106 | return new HttpResponse(statusLine, responseHeaders); |
104 | 107 | } |
105 | 108 |
|
| 109 | + public static HttpResponse notHTML(String extension, String viewName) throws IOException { |
| 110 | + byte[] messageBody = Files.readAllBytes(new File("./webapp/" + viewName).toPath()); |
| 111 | + StatusLine statusLine = new StatusLine(new HttpVersion("HTTP/1.1"), HttpResponseStatus.OK); |
| 112 | + ResponseHeaders responseHeaders = new ResponseHeaders(); |
| 113 | + responseHeaders.setAccept("text/"+extension+", */*; q=0.1"); |
| 114 | + responseHeaders.setContentLength(messageBody.length); |
| 115 | + ResponseMessageBody responseMessageBody = new ResponseMessageBody(messageBody); |
| 116 | + return new HttpResponse(statusLine, responseHeaders, responseMessageBody); |
| 117 | + } |
| 118 | + |
106 | 119 | public void flush(OutputStream out) throws IOException { |
107 | 120 | DataOutputStream dos = new DataOutputStream(out); |
108 | 121 | dos.writeBytes(statusLine.toString() + " \r\n"); |
|
0 commit comments