]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/Verify.java
Extract "verify" action into the bussiness logic api.
[gigi.git] / src / org / cacert / gigi / pages / Verify.java
1 package org.cacert.gigi.pages;
2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import org.cacert.gigi.EmailAddress;
9 import org.cacert.gigi.GigiApiException;
10
11 public class Verify extends Page {
12         public static final String PATH = "/verify";
13
14         public Verify() {
15                 super("Verify email");
16         }
17
18         @Override
19         public boolean needsLogin() {
20                 return false;
21         }
22
23         @Override
24         public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
25                 PrintWriter out = resp.getWriter();
26                 String hash = req.getParameter("hash");
27                 String type = req.getParameter("type");
28                 String id = req.getParameter("id");
29                 if ("email".equals(type)) {
30                         try {
31                                 EmailAddress ea = EmailAddress.getById(Integer.parseInt(id));
32                                 ea.verify(hash);
33                                 out.println("Email verification completed.");
34                         } catch (IllegalArgumentException e) {
35                                 out.println(translate(req, "The email address is invalid."));
36                         } catch (GigiApiException e) {
37                                 e.format(out, getLanguage(req));
38                         }
39                 }
40         }
41
42 }