X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fapi%2FGigiAPI.java;h=2f5e922c8e146aca32a348bfe880020b1e95e4c5;hb=ff8b2a0142c24f22a0fac2518eb0a6cd6b95ef12;hp=209ffe563932be8e87971ad2d0b7a33eeddd5971;hpb=943d8e7ed0ea5a9d56e7e694a3cbd849c52bad16;p=gigi.git diff --git a/src/org/cacert/gigi/api/GigiAPI.java b/src/org/cacert/gigi/api/GigiAPI.java index 209ffe56..2f5e922c 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; @@ -9,8 +10,23 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.database.DatabaseConnection.Link; + public class GigiAPI extends HttpServlet { + 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()); + api.put(CATSResolve.PATH, new CATSResolve()); + FindAgent.register(api); + } + @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String pi = req.getPathInfo(); @@ -27,6 +43,16 @@ public class GigiAPI extends HttpServlet { strB.append(buffer, 0, len); } System.out.println(strB); + return; + } + + APIPoint p = api.get(pi); + try (Link l = DatabaseConnection.newLink(false)) { + if (p != null) { + p.process(req, resp); + } + } catch (InterruptedException e) { + throw new Error(e); } } }