X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fapi%2FGigiAPI.java;h=c0d063db3a2aeaeaf8b6b5e6f9cfcd1ac2bbba46;hb=ba0e2099f18fc222c05abb0e293c2eb1bb01f0e9;hp=4104feb3f78a1940517763d72dbef8ca3c9ffee9;hpb=2824d1c165c501e2f3a8809044788b33b81f478a;p=gigi.git diff --git a/src/org/cacert/gigi/api/GigiAPI.java b/src/org/cacert/gigi/api/GigiAPI.java index 4104feb3..c0d063db 100644 --- a/src/org/cacert/gigi/api/GigiAPI.java +++ b/src/org/cacert/gigi/api/GigiAPI.java @@ -2,6 +2,7 @@ package org.cacert.gigi.api; import java.io.IOException; import java.io.InputStreamReader; +import java.util.HashMap; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; @@ -10,22 +11,39 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class GigiAPI extends HttpServlet { - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - String pi = req.getPathInfo(); - if (pi == null) { - return; - } - if (pi.equals("/security/csp/report")) { - ServletInputStream sis = req.getInputStream(); - InputStreamReader isr = new InputStreamReader(sis, "UTF-8"); - StringBuffer strB = new StringBuffer(); - char[] buffer = new char[4 * 1024]; - int len; - while ((len = isr.read(buffer)) > 0) { - strB.append(buffer, 0, len); - } - System.out.println(strB); - } - } + + private static final long serialVersionUID = 659963677032635817L; + + HashMap api = new HashMap<>(); + + public GigiAPI() { + api.put(CreateCertificate.PATH, new CreateCertificate()); + api.put(RevokeCertificate.PATH, new RevokeCertificate()); + api.put(CATSImport.PATH, new CATSImport()); + } + + @Override + protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String pi = req.getPathInfo(); + if (pi == null) { + return; + } + if (pi.equals("/security/csp/report")) { + ServletInputStream sis = req.getInputStream(); + InputStreamReader isr = new InputStreamReader(sis, "UTF-8"); + StringBuffer strB = new StringBuffer(); + char[] buffer = new char[4 * 1024]; + int len; + while ((len = isr.read(buffer)) > 0) { + strB.append(buffer, 0, len); + } + System.out.println(strB); + return; + } + + APIPoint p = api.get(pi); + if (p != null) { + p.process(req, resp); + } + } }