1 package org.cacert.gigi.api;
3 import java.io.IOException;
4 import java.io.InputStreamReader;
5 import java.util.HashMap;
7 import javax.servlet.ServletException;
8 import javax.servlet.ServletInputStream;
9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
13 import org.cacert.gigi.database.DatabaseConnection;
14 import org.cacert.gigi.database.DatabaseConnection.Link;
16 public class GigiAPI extends HttpServlet {
18 private static final long serialVersionUID = 659963677032635817L;
20 HashMap<String, APIPoint> api = new HashMap<>();
23 api.put(CreateCertificate.PATH, new CreateCertificate());
24 api.put(RevokeCertificate.PATH, new RevokeCertificate());
25 api.put(CATSImport.PATH, new CATSImport());
26 api.put(CATSResolve.PATH, new CATSResolve());
30 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
31 String pi = req.getPathInfo();
35 if (pi.equals("/security/csp/report")) {
36 ServletInputStream sis = req.getInputStream();
37 InputStreamReader isr = new InputStreamReader(sis, "UTF-8");
38 StringBuffer strB = new StringBuffer();
39 char[] buffer = new char[4 * 1024];
41 while ((len = isr.read(buffer)) > 0) {
42 strB.append(buffer, 0, len);
44 System.out.println(strB);
48 APIPoint p = api.get(pi);
49 try (Link l = DatabaseConnection.newLink(false)) {
53 } catch (InterruptedException e) {