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
Branches
No related tags found
No related merge requests found
...@@ -3,16 +3,26 @@ package controllers ...@@ -3,16 +3,26 @@ package controllers
import javax.inject.Inject import javax.inject.Inject
import controllers.auth.AuthenticationModule 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.libs.json.{JsArray, JsString}
import play.api.mvc.Controller import play.api.mvc.Controller
import scala.concurrent.ExecutionContext.Implicits.global
class ConnectController @Inject()(val authentication: AuthenticationModule, class ConnectController @Inject()(val authentication: AuthenticationModule,
elastic: ElasticClient,
hosts: Hosts) extends Controller with AuthSupport { hosts: Hosts) extends Controller with AuthSupport {
def index = AuthAction(authentication) { request => def index = AuthAction(authentication) { _ =>
CerebroResponse(200, JsArray(hosts.getHostNames().map(JsString(_)))) 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 ...@@ -67,6 +67,7 @@ POST /index_settings/update controllers.IndexSettingsC
# Connect module # Connect module
GET /connect/hosts controllers.ConnectController.index GET /connect/hosts controllers.ConnectController.index
POST /connect controllers.ConnectController.connect
# Repositories module # Repositories module
POST /repositories controllers.RepositoriesController.get 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