package com.perforce.hws.plugin.perforce.routes;
import com.perforce.hws.core.p4base.P4Methods;
import com.perforce.hws.core.sessions.SessionData;
import com.perforce.hws.utils.HWSSettings;
import com.perforce.hws.utils.ModelConversion;
import com.perforce.hws.utils.UsesServerHandles;
/**
* GET /counters/:counter
*/
public class PerforceGetCounterRoute implements
spark.Route,
P4Methods,
ModelConversion,
UsesServerHandles {
@Override
public Object handle(spark.Request request, spark.Response response) throws Exception {
SessionData sessionData = request.attribute("sessionData");
HWSSettings settings = request.attribute("settings");
String server = request.params("server");
String counter = request.params("counter");
return withServerHandle(server, sessionData, settings,
serverHandle -> toCounter(firstResultOrFail(exec(serverHandle, "counter", counter))));
}
}