]> source.dussan.org Git - gitblit.git/commitdiff
Merge branch 'ticket/154' into develop
authorJames Moger <james.moger@gitblit.com>
Thu, 4 Sep 2014 20:08:45 +0000 (16:08 -0400)
committerJames Moger <james.moger@gitblit.com>
Thu, 4 Sep 2014 20:08:45 +0000 (16:08 -0400)
1  2 
src/main/java/com/gitblit/servlet/PagesServlet.java
src/main/java/com/gitblit/servlet/RawServlet.java

index 6f6d650257b9ee5d3d053961ead923192179f383,defd9e630a60036ef9e9bdb52035eb6d0939bafc..1473e966731687869e30341cfda19acb52a7e595
 -/*\r
 - * Copyright 2012 gitblit.com.\r
 - *\r
 - * Licensed under the Apache License, Version 2.0 (the "License");\r
 - * you may not use this file except in compliance with the License.\r
 - * You may obtain a copy of the License at\r
 - *\r
 - *     http://www.apache.org/licenses/LICENSE-2.0\r
 - *\r
 - * Unless required by applicable law or agreed to in writing, software\r
 - * distributed under the License is distributed on an "AS IS" BASIS,\r
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
 - * See the License for the specific language governing permissions and\r
 - * limitations under the License.\r
 - */\r
 -package com.gitblit.servlet;\r
 -\r
 -import java.io.IOException;\r
 -import java.io.InputStream;\r
 -import java.util.Date;\r
 -\r
 -import javax.servlet.ServletException;\r
 -import javax.servlet.http.HttpServletRequest;\r
 -import javax.servlet.http.HttpServletResponse;\r
 -\r
 -import org.eclipse.jgit.lib.Repository;\r
 -import org.eclipse.jgit.revwalk.RevCommit;\r
 -\r
 -import com.gitblit.Constants;\r
 -import com.gitblit.utils.JGitUtils;\r
 -\r
 -/**\r
 - * Serves the content of a gh-pages branch.\r
 - *\r
 - * @author James Moger\r
 - *\r
 - */\r
 -public class PagesServlet extends RawServlet {\r
 -\r
 -      private static final long serialVersionUID = 1L;\r
 -\r
 -\r
 -      /**\r
 -       * Returns an url to this servlet for the specified parameters.\r
 -       *\r
 -       * @param baseURL\r
 -       * @param repository\r
 -       * @param path\r
 -       * @return an url\r
 -       */\r
 -      public static String asLink(String baseURL, String repository, String path) {\r
 -              if (baseURL.length() > 0 && baseURL.charAt(baseURL.length() - 1) == '/') {\r
 -                      baseURL = baseURL.substring(0, baseURL.length() - 1);\r
 -              }\r
 -              return baseURL + Constants.PAGES + repository + "/" + (path == null ? "" : ("/" + path));\r
 -      }\r
 -\r
 -      @Override\r
 -      protected String getBranch(String repository, HttpServletRequest request) {\r
 -              return "gh-pages";\r
 -      }\r
 -\r
 -      @Override\r
 -      protected String getPath(String repository, String branch, HttpServletRequest request) {\r
 -              String pi = request.getPathInfo().substring(1);\r
 -              if (pi.equals(repository)) {\r
 -                      return "";\r
 -              }\r
 -              String path = pi.substring(pi.indexOf(repository) + repository.length() + 1);\r
 -              if (path.endsWith("/")) {\r
 -                      path = path.substring(0, path.length() - 1);\r
 -              }\r
 -              return path;\r
 -      }\r
 -\r
 -      @Override\r
 -      protected boolean renderIndex() {\r
 -              return true;\r
 -      }\r
 -\r
 -      @Override\r
 -      protected void setContentType(HttpServletResponse response, String contentType) {\r
 -              response.setContentType(contentType);;\r
 -      }\r
 -\r
 -      @Override\r
 -      protected boolean streamFromRepo(HttpServletRequest request, HttpServletResponse response, Repository repository,\r
 -                      RevCommit commit, String requestedPath) throws IOException {\r
 -\r
 -              response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());\r
 -              response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");\r
 -\r
 -              return super.streamFromRepo(request, response, repository, commit, requestedPath);\r
 -      }\r
 -\r
 -      @Override\r
 -      protected void sendContent(HttpServletResponse response, Date date, InputStream is) throws ServletException, IOException {\r
 -              response.setDateHeader("Last-Modified", date.getTime());\r
 -              response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");\r
 -\r
 -              super.sendContent(response, date, is);\r
 -      }\r
 -}\r
 +/*
 + * Copyright 2012 gitblit.com.
 + *
 + * Licensed under the Apache License, Version 2.0 (the "License");
 + * you may not use this file except in compliance with the License.
 + * You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package com.gitblit.servlet;
 +
 +import java.io.IOException;
 +import java.io.InputStream;
 +import java.util.Date;
 +
 +import javax.servlet.ServletException;
 +import javax.servlet.http.HttpServletRequest;
 +import javax.servlet.http.HttpServletResponse;
 +
 +import org.eclipse.jgit.lib.Repository;
 +import org.eclipse.jgit.revwalk.RevCommit;
 +
 +import com.gitblit.Constants;
 +import com.gitblit.manager.IRepositoryManager;
 +import com.gitblit.manager.IRuntimeManager;
 +import com.gitblit.utils.JGitUtils;
 +import com.google.inject.Inject;
 +import com.google.inject.Singleton;
 +
 +/**
 + * Serves the content of a gh-pages branch.
 + *
 + * @author James Moger
 + *
 + */
 +@Singleton
 +public class PagesServlet extends RawServlet {
 +
 +      private static final long serialVersionUID = 1L;
 +
 +
 +      /**
 +       * Returns an url to this servlet for the specified parameters.
 +       *
 +       * @param baseURL
 +       * @param repository
 +       * @param path
 +       * @return an url
 +       */
 +      public static String asLink(String baseURL, String repository, String path) {
 +              if (baseURL.length() > 0 && baseURL.charAt(baseURL.length() - 1) == '/') {
 +                      baseURL = baseURL.substring(0, baseURL.length() - 1);
 +              }
 +              return baseURL + Constants.PAGES + repository + "/" + (path == null ? "" : ("/" + path));
 +      }
 +
 +      @Inject
 +      public PagesServlet(
 +                      IRuntimeManager runtimeManager,
 +                      IRepositoryManager repositoryManager) {
 +
 +              super(runtimeManager, repositoryManager);
 +      }
 +
 +      @Override
 +      protected String getBranch(String repository, HttpServletRequest request) {
 +              return "gh-pages";
 +      }
 +
 +      @Override
 +      protected String getPath(String repository, String branch, HttpServletRequest request) {
 +              String pi = request.getPathInfo().substring(1);
 +              if (pi.equals(repository)) {
 +                      return "";
 +              }
 +              String path = pi.substring(pi.indexOf(repository) + repository.length() + 1);
 +              if (path.endsWith("/")) {
 +                      path = path.substring(0, path.length() - 1);
 +              }
 +              return path;
 +      }
 +
 +      @Override
 +      protected boolean renderIndex() {
 +              return true;
 +      }
 +
 +      @Override
 +      protected void setContentType(HttpServletResponse response, String contentType) {
 +              response.setContentType(contentType);;
 +      }
 +
 +      @Override
-       protected void streamFromRepo(HttpServletResponse response, Repository repository,
++      protected boolean streamFromRepo(HttpServletRequest request, HttpServletResponse response, Repository repository,
 +                      RevCommit commit, String requestedPath) throws IOException {
 +
 +              response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());
 +              response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
 +
-               super.streamFromRepo(response, repository, commit, requestedPath);
++              return super.streamFromRepo(request, response, repository, commit, requestedPath);
 +      }
 +
 +      @Override
 +      protected void sendContent(HttpServletResponse response, Date date, InputStream is) throws ServletException, IOException {
 +              response.setDateHeader("Last-Modified", date.getTime());
 +              response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
 +
 +              super.sendContent(response, date, is);
 +      }
 +}