1 package club.wpia.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 club.wpia.gigi.database.DatabaseConnection;
14 import club.wpia.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(Emails.PATH, new Emails());
25 api.put(EmailReping.PATH, new EmailReping());
26 api.put(RevokeCertificate.PATH, new RevokeCertificate());
27 api.put(CATSImport.PATH, new CATSImport());
28 api.put(CATSResolve.PATH, new CATSResolve());
29 FindAgent.register(api);
33 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
34 String pi = req.getPathInfo();
38 if (pi.equals("/security/csp/report")) {
39 ServletInputStream sis = req.getInputStream();
40 InputStreamReader isr = new InputStreamReader(sis, "UTF-8");
41 StringBuffer strB = new StringBuffer();
42 char[] buffer = new char[4 * 1024];
44 while ((len = isr.read(buffer)) > 0) {
45 strB.append(buffer, 0, len);
47 System.out.println(strB);
51 APIPoint p = api.get(pi);
52 try (Link l = DatabaseConnection.newLink(false)) {
56 } catch (InterruptedException e) {