Skip to content
Snippets Groups Projects
Commit 7875836d authored by Leonardo Menezes's avatar Leonardo Menezes
Browse files

created connect api to check connectivity with a cluster

parent 37907772
No related branches found
No related tags found
No related merge requests found
......@@ -3,16 +3,26 @@ package controllers
import javax.inject.Inject
import controllers.auth.AuthenticationModule
import models.{CerebroResponse, Hosts}
import elastic.ElasticClient
import models.{CerebroRequest, CerebroResponse, Hosts}
import play.api.libs.json.{JsArray, JsString}
import play.api.mvc.Controller
import scala.concurrent.ExecutionContext.Implicits.global
class ConnectController @Inject()(val authentication: AuthenticationModule,
elastic: ElasticClient,
hosts: Hosts) extends Controller with AuthSupport {
def index = AuthAction(authentication) { request =>
def index = AuthAction(authentication) { _ =>
CerebroResponse(200, JsArray(hosts.getHostNames().map(JsString(_))))
}
def connect = AuthAction(authentication).async(parse.json) { request =>
val req = CerebroRequest(request, hosts)
elastic.executeRequest("GET", "_cluster/health", None, req.target).map {
response => CerebroResponse(response.status, response.body)
}
}
}
......@@ -67,6 +67,7 @@ POST /index_settings/update controllers.IndexSettingsC
# Connect module
GET /connect/hosts controllers.ConnectController.index
POST /connect controllers.ConnectController.connect
# Repositories module
POST /repositories controllers.RepositoriesController.get
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment