Skip to content

Commit

Permalink
#14 Fix get nstats parameter (bodyParser doesn't work in GET request)
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Nov 18, 2016
1 parent f63d737 commit 87f0c4b
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions thehive-backend/app/controllers/Case.scala
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import org.elastic4play.services.JsonFormat.{ aggReads, queryReads }
import models.{ Case, CaseStatus }
import services.{ CaseSrv, TaskSrv }
import services.CaseMergeSrv
import scala.util.Try

@Singleton
class CaseCtrl @Inject() (
Expand All @@ -47,13 +48,15 @@ class CaseCtrl @Inject() (
}

@Timed
def get(id: String) = authenticated(Role.read).async(fieldsBodyParser) { implicit request
val nparent = request.body.getLong("nparent").getOrElse(0L).toInt
val withStats = request.body.getBoolean("nstats").getOrElse(false)
def get(id: String) = authenticated(Role.read).async { implicit request
val withStats = for {
statsValues <- request.queryString.get("nstats")
firstValue <- statsValues.headOption
} yield Try(firstValue.toBoolean).getOrElse(firstValue == "1")

for {
caze caseSrv.get(id)
casesWithStats auxSrv.apply(caze, nparent, withStats)
casesWithStats auxSrv.apply(caze, 0, withStats.getOrElse(false))
} yield renderer.toOutput(OK, casesWithStats)
}

Expand Down

0 comments on commit 87f0c4b

Please sign in to comment.