1
2
3
4
5
6
7
8
9
10
11 package org.eclipse.jgit.http.server;
12
13 import static org.eclipse.jgit.http.server.ServletUtils.getRepository;
14 import static org.eclipse.jgit.http.server.ServletUtils.sendPlainText;
15
16 import java.io.IOException;
17
18 import javax.servlet.http.HttpServlet;
19 import javax.servlet.http.HttpServletRequest;
20 import javax.servlet.http.HttpServletResponse;
21
22 import org.eclipse.jgit.internal.storage.file.ObjectDirectory;
23 import org.eclipse.jgit.internal.storage.file.Pack;
24 import org.eclipse.jgit.lib.ObjectDatabase;
25
26
27 class InfoPacksServlet extends HttpServlet {
28 private static final long serialVersionUID = 1L;
29
30
31 @Override
32 public void doGet(final HttpServletRequest req,
33 final HttpServletResponse rsp) throws IOException {
34 sendPlainText(packList(req), req, rsp);
35 }
36
37 private static String packList(HttpServletRequest req) {
38 final StringBuilder out = new StringBuilder();
39 final ObjectDatabase db = getRepository(req).getObjectDatabase();
40 if (db instanceof ObjectDirectory) {
41 for (Pack pack : ((ObjectDirectory) db).getPacks()) {
42 out.append("P ");
43 out.append(pack.getPackFile().getName());
44 out.append('\n');
45 }
46 }
47 out.append('\n');
48 return out.toString();
49 }
50 }