Add X-Gitiles-Object-Type header to TEXT replies.

Change-Id: I4ffee66b48662634be8dcc1810cd92fd08130ea9
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java
index ecde06a..fa76cb5 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java
@@ -72,6 +72,7 @@
   private static final Logger log = LoggerFactory.getLogger(PathServlet.class);
 
   static final String MODE_HEADER = "X-Gitiles-Path-Mode";
+  static final String TYPE_HEADER = "X-Gitiles-Object-Type";
 
   /**
    * Submodule URLs where we know there is a web page if the user visits the
@@ -201,12 +202,17 @@
     }
   }
 
-  private void setModeHeader(HttpServletResponse res, FileType type) {
+  public static void setModeHeader(HttpServletResponse res, FileType type) {
     res.setHeader(MODE_HEADER, String.format("%06o", type.mode.getBits()));
   }
 
+  public static void setTypeHeader(HttpServletResponse res, int type) {
+    res.setHeader(TYPE_HEADER, Constants.typeString(type));
+  }
+
   private void writeBlobText(HttpServletRequest req, HttpServletResponse res, WalkResult wr)
       throws IOException {
+    setTypeHeader(res, wr.type.mode.getObjectType());
     setModeHeader(res, wr.type);
     try (Writer writer = startRenderText(req, res);
         OutputStream out = BaseEncoding.base64().encodingStream(writer)) {
@@ -216,6 +222,7 @@
 
   private void writeTreeText(HttpServletRequest req, HttpServletResponse res, WalkResult wr)
       throws IOException {
+    setTypeHeader(res, wr.type.mode.getObjectType());
     setModeHeader(res, wr.type);
 
     try (Writer writer = startRenderText(req, res);
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java
index c187d72..8b0b4d2 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java
@@ -148,6 +148,7 @@
         if (loader.getType() != OBJ_COMMIT) {
           res.setStatus(SC_NOT_FOUND);
         } else {
+          PathServlet.setTypeHeader(res, loader.getType());
           try (Writer writer = startRenderText(req, res);
               OutputStream out = BaseEncoding.base64().encodingStream(writer)) {
             loader.copyTo(out);