package org.netmelody.cieye.server.response.responder;
import java.io.IOException;
import org.netmelody.cieye.core.domain.Sponsor;
import org.netmelody.cieye.core.logging.LogKeeper;
import org.netmelody.cieye.core.logging.Logbook;
import org.netmelody.cieye.server.response.CiEyeResponder;
import org.netmelody.cieye.server.response.CiEyeResponse;
import org.netmelody.cieye.server.response.JsonTranslator;
import org.netmelody.cieye.server.response.RequestOriginTracker;
import org.simpleframework.http.Request;
public final class SponsorResponder implements CiEyeResponder {
private static final Logbook LOG = LogKeeper.logbookFor(SponsorResponder.class);
private final RequestOriginTracker tracker;
public SponsorResponder(RequestOriginTracker tracker) {
this.tracker = tracker;
}
@Override
public CiEyeResponse respond(Request request) throws IOException {
String fingerprint = "";
try {
fingerprint = request.getForm().get("fingerprint");
final Sponsor sponsor = tracker.sponsorWith(fingerprint);
return CiEyeResponse.withJson(new JsonTranslator().toJson(sponsor)).expiringInMillis(10000L);
} catch (Exception e) {
LOG.error("Failed to handle request for sponsor with fingerprint " + fingerprint , e);
}
return CiEyeResponse.withJson("");
}
}