From 01b3dd99d0b84e23eca38348da7c540a6ab78dbf Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Thu, 11 Dec 2014 14:41:55 +0100 Subject: [PATCH] api json 404 --- app/controllers/LilaController.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/LilaController.scala b/app/controllers/LilaController.scala index b9ea7e70b3..d2ff339d13 100644 --- a/app/controllers/LilaController.scala +++ b/app/controllers/LilaController.scala @@ -147,9 +147,12 @@ private[controllers] trait LilaController protected def OptionFuResult[A](fua: Fu[Option[A]])(op: A => Fu[Result])(implicit ctx: Context) = fua flatMap { _.fold(notFound(ctx))(a => op(a)) } - def notFound(implicit ctx: Context): Fu[Result] = - if (HTTPRequest isSynchronousHttp ctx.req) Lobby renderHome Results.NotFound - else Results.NotFound("resource not found").fuccess + def notFound(implicit ctx: Context): Fu[Result] = negotiate( + html = + if (HTTPRequest isSynchronousHttp ctx.req) Lobby renderHome Results.NotFound + else fuccess(Results.NotFound("Resource not found")), + api = _ => fuccess(Results.NotFound(Json.obj("error" -> "Resource not found"))) + ) protected def notFoundReq(req: RequestHeader): Fu[Result] = reqToCtx(req) flatMap (x => notFound(x))