X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FHTTPFetch.java;h=a4671bd23bb8090fff2cca74ee3c66176e9b41f5;hb=e04e99de1af984634675056004cd031c0b526505;hp=de4990fc3f897472f590ab18ff2c74834f91d1a2;hpb=943d8e7ed0ea5a9d56e7e694a3cbd849c52bad16;p=gigi.git diff --git a/src/org/cacert/gigi/ping/HTTPFetch.java b/src/org/cacert/gigi/ping/HTTPFetch.java index de4990fc..a4671bd2 100644 --- a/src/org/cacert/gigi/ping/HTTPFetch.java +++ b/src/org/cacert/gigi/ping/HTTPFetch.java @@ -3,27 +3,35 @@ package org.cacert.gigi.ping; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.net.HttpURLConnection; import java.net.URL; +import org.cacert.gigi.dbObjects.Domain; +import org.cacert.gigi.dbObjects.User; + public class HTTPFetch extends DomainPinger { @Override - public void ping(String domain, String configuration, String expToken) { + public String ping(Domain domain, String expToken, User user) { try { - URL u = new URL("http://" + domain + "/cacert_rai.txt"); - BufferedReader br = new BufferedReader(new InputStreamReader(u.openStream(), "UTF-8")); + String[] tokenParts = expToken.split(":", 2); + URL u = new URL("http://" + domain.getSuffix() + "/cacert-" + tokenParts[0] + ".txt"); + HttpURLConnection huc = (HttpURLConnection) u.openConnection(); + if (huc.getResponseCode() != 200) { + return "Invalid status code."; + } + BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream(), "UTF-8")); String line = br.readLine(); if (line == null) { - // empty - return; + return "No response from your server."; } - if (line.equals(expToken)) { - // found + if (line.trim().equals(tokenParts[1])) { + return PING_SUCCEDED; } - // differ + return "Challange tokens differed."; } catch (IOException e) { e.printStackTrace(); - // error + return "Connection closed."; } } }