in reports-scheduler/src/main/kotlin/org/opensearch/reportsscheduler/resthandler/ReportDefinitionRestHandler.kt [124:159]
override fun executeRequest(request: RestRequest, client: NodeClient): RestChannelConsumer {
return when (request.method()) {
POST -> RestChannelConsumer {
Metrics.REPORT_DEFINITION_CREATE_TOTAL.counter.increment()
Metrics.REPORT_DEFINITION_CREATE_INTERVAL_COUNT.counter.increment()
client.execute(CreateReportDefinitionAction.ACTION_TYPE,
CreateReportDefinitionRequest(request.contentParserNextToken()),
RestResponseToXContentListener(it))
}
PUT -> RestChannelConsumer {
Metrics.REPORT_DEFINITION_UPDATE_TOTAL.counter.increment()
Metrics.REPORT_DEFINITION_UPDATE_INTERVAL_COUNT.counter.increment()
client.execute(
UpdateReportDefinitionAction.ACTION_TYPE,
UpdateReportDefinitionRequest(request.contentParserNextToken(), request.param(REPORT_DEFINITION_ID_FIELD)),
RestResponseToXContentListener(it))
}
GET -> RestChannelConsumer {
Metrics.REPORT_DEFINITION_INFO_TOTAL.counter.increment()
Metrics.REPORT_DEFINITION_INFO_INTERVAL_COUNT.counter.increment()
client.execute(GetReportDefinitionAction.ACTION_TYPE,
GetReportDefinitionRequest(request.param(REPORT_DEFINITION_ID_FIELD)),
RestResponseToXContentListener(it))
}
DELETE -> RestChannelConsumer {
Metrics.REPORT_DEFINITION_DELETE_TOTAL.counter.increment()
Metrics.REPORT_DEFINITION_DELETE_INTERVAL_COUNT.counter.increment()
client.execute(DeleteReportDefinitionAction.ACTION_TYPE,
DeleteReportDefinitionRequest(request.param(REPORT_DEFINITION_ID_FIELD)),
RestResponseToXContentListener(it))
}
else -> RestChannelConsumer {
it.sendResponse(BytesRestResponse(RestStatus.METHOD_NOT_ALLOWED, "${request.method()} is not allowed"))
}
}
}