From 8bf5b71a2cc190b740f3aa4b3ae2550e0919fb92 Mon Sep 17 00:00:00 2001 From: To-om Date: Mon, 22 May 2017 14:43:45 +0200 Subject: [PATCH] #29 Catch error of MISP_modules loader invocation --- app/services/MispSrv.scala | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/services/MispSrv.scala b/app/services/MispSrv.scala index c6c9c09f3..c2b9af3ad 100644 --- a/app/services/MispSrv.scala +++ b/app/services/MispSrv.scala @@ -45,12 +45,14 @@ class MispSrv( private[MispSrv] val futureList: Future[Seq[MispModule]] = Future { if (mispModulesEnabled) { - Json.parse(s"$loaderCommand --list".!!) - .asOpt[Seq[String]] - .getOrElse { - logger.warn("MISP modules loader returns invalid data") + val moduleNameList = Try(Json.parse(s"$loaderCommand --list".!!).as[Seq[String]]) match { + case Success(l) ⇒ l + case Failure(error) ⇒ + logger.error(s"MISP module loader fails", error) Nil - } + } + + moduleNameList .map { moduleName ⇒ moduleName → (for { moduleInfo ← Try(Json.parse(s"$loaderCommand --info $moduleName".!!))