Fix double close in streaming HTML output

Writer.close() will close the OutputStream it wraps. The try block
will also close the OutputStream. This cause the tail HTML to be
output twice. Unless the servlet container supplies an OutputStream
that throws an exception for any write attempt after close.

Change-Id: Icaec2d284259d6e2f040e141253bc65d39407d55
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
index ec6c600..3754d60 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
@@ -115,10 +115,11 @@
 
       data.put("title", title);
 
-      try (OutputStream out = startRenderStreamingHtml(req, res, "gitiles.logDetail", data);
-          Writer w = newWriter(out, res)) {
+      try (OutputStream out = startRenderStreamingHtml(req, res, "gitiles.logDetail", data)) {
+        Writer w = newWriter(out, res);
         new LogSoyData(req, access, pretty)
             .renderStreaming(paginator, null, renderer, w, df);
+        w.flush();
       }
 
       renderHtml(req, res, "gitiles.logDetail", data);
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
index 4e726dd..7e8e573 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
@@ -97,10 +97,11 @@
 
       if (paginator != null) {
         DateFormatter df = new DateFormatter(access, Format.DEFAULT);
-        try (OutputStream out = startRenderStreamingHtml(req, res, "gitiles.repositoryIndex", data);
-            Writer w = newWriter(out, res)) {
+        try (OutputStream out = startRenderStreamingHtml(req, res, "gitiles.repositoryIndex", data)) {
+          Writer w = newWriter(out, res);
           new LogSoyData(req, access, "oneline")
               .renderStreaming(paginator, "HEAD", renderer, w, df);
+          w.flush();
         }
       } else {
         renderHtml(req, res, "gitiles.repositoryIndex", data);