Commit 06e422b5 authored by Leonardo Menezes's avatar Leonardo Menezes
Browse files

bundle target and requesting user in cerebrorequest

parent b9a29908
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import javax.inject.Inject

import controllers.auth.AuthenticationModule
import elastic.ElasticClient
import models.{Aliases, CerebroResponse, ElasticServer}
import models.{Aliases, CerebroResponse}
import play.api.libs.json.JsArray

import scala.concurrent.ExecutionContext.Implicits.global
@@ -13,14 +13,14 @@ class AliasesController @Inject()(val authentication: AuthenticationModule,
                                  client: ElasticClient) extends BaseController {

  def getAliases = process { request =>
    client.getAliases(ElasticServer(request.host, request.authentication)).map { aliases =>
    client.getAliases(request.target).map { aliases =>
      CerebroResponse(aliases.status, Aliases(aliases.body))
    }
  }

  def updateAliases = process { request =>
    val changes = request.getOptArray("changes").getOrElse(JsArray()).value
    client.updateAliases(changes, ElasticServer(request.host, request.authentication)).map { aliases =>
    client.updateAliases(changes, request.target).map { aliases =>
      CerebroResponse(aliases.status, aliases.body)
    }
  }
+5 −5
Original line number Diff line number Diff line
@@ -13,21 +13,21 @@ class AnalysisController @Inject()(val authentication: AuthenticationModule,
                                   client: ElasticClient) extends BaseController {

  def getIndices = process { request =>
    client.getIndices(ElasticServer(request.host, request.authentication)).map { response =>
    client.getIndices(request.target).map { response =>
      CerebroResponse(response.status, OpenIndices(response.body))
    }
  }

  def getIndexAnalyzers = process { request =>
    val index = request.get("index")
    client.getIndexSettings(index, ElasticServer(request.host, request.authentication)).map { response =>
    client.getIndexSettings(index, request.target).map { response =>
      CerebroResponse(response.status, IndexAnalyzers(index, response.body))
    }
  }

  def getIndexFields = process { request =>
    val index = request.get("index")
    client.getIndexMapping(index, ElasticServer(request.host, request.authentication)).map { response =>
    client.getIndexMapping(index, request.target).map { response =>
      CerebroResponse(response.status, IndexFields(index, response.body))
    }
  }
@@ -36,7 +36,7 @@ class AnalysisController @Inject()(val authentication: AuthenticationModule,
    val index = request.get("index")
    val field = request.get("field")
    val text = request.get("text")
    client.analyzeTextByField(index, field, text, ElasticServer(request.host, request.authentication)).map { response =>
    client.analyzeTextByField(index, field, text, request.target).map { response =>
      CerebroResponse(response.status, Tokens(response.body))
    }
  }
@@ -45,7 +45,7 @@ class AnalysisController @Inject()(val authentication: AuthenticationModule,
    val index = request.get("index")
    val analyzer = request.get("analyzer")
    val text = request.get("text")
    client.analyzeTextByAnalyzer(index, analyzer, text, ElasticServer(request.host, request.authentication)).map { response =>
    client.analyzeTextByAnalyzer(index, analyzer, text, request.target).map { response =>
      CerebroResponse(response.status, Tokens(response.body))
    }
  }
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ trait BaseController extends Controller with AuthSupport {

  final def process(processor: RequestProcessor) = AuthAction(authentication).async(parse.json) { request =>
    try {
      processor(CerebroRequest(request.body))
      processor(CerebroRequest(request))
    } catch {
      case e: MissingRequiredParamException =>
        Future.successful(CerebroResponse(400, Json.obj("error" -> e.getMessage))) // FIXME: proper error handling
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ class CatController @Inject()(val authentication: AuthenticationModule,

  def get = process { request =>
    val api = request.get("api")
    client.catRequest(api, ElasticServer(request.host, request.authentication)).map { response =>
    client.catRequest(api, request.target).map { response =>
      CerebroResponse(response.status, response.body)
    }
  }
+3 −3
Original line number Diff line number Diff line
@@ -16,9 +16,9 @@ class ClusterChangesController @Inject()(val authentication: AuthenticationModul

  def get = process { request =>
    Future.sequence(Seq(
      client.getIndices(ElasticServer(request.host, request.authentication)),
      client.getNodes(ElasticServer(request.host, request.authentication)),
      client.main(ElasticServer(request.host, request.authentication))
      client.getIndices(request.target),
      client.getNodes(request.target),
      client.main(request.target)
    )).map { responses =>
      Json.obj(
        "indices" -> Indices(responses(0).body),
Loading