@Override public GetMetricsTagsResponse doRequest() throws Exception { if (reqdata == null) { String uri = httpRequest.getUri(); reqdata = CommonUtil.getParam(uri, "reqdata", "UTF-8"); jsonpCallback = CommonUtil.getParam(uri, "callback", "UTF-8"); isJsonp = true; } if (reqdata == null) { int resultCode = InterfaceConst.ResultCode.INVALID_COMMAND; String resultInfo = "Can parse reqdata from request."; return generateFailedResponse(resultCode, resultInfo); } request = GetMetricsTagsRequest.parse(new JSONTokener(reqdata)); if (!InterfaceConst.commandIsSupported(InterfaceConst.Commands.GET_DATA_POINTS)) { int resultCode = InterfaceConst.ResultCode.INVALID_COMMAND; String resultInfo = "The command is not supported."; return generateFailedResponse(resultCode, resultInfo); } else if (!InterfaceConst.commandVersionIsSupported( InterfaceConst.Commands.GET_DATA_POINTS, request.getVersion())) { int resultCode = InterfaceConst.ResultCode.INVALID_COMMAND_VERSION; String resultInfo = "The command version " + request.getVersion() + " is not supported."; return generateFailedResponse(resultCode, resultInfo); } if (isLongTimeRequest()) { this.isLongTimeRequest = true; return null; } else { return doRun(); } }