Skip to content

Commit 4521703

Browse files
committed
update again
1 parent 985213a commit 4521703

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

common/src/main/scala/models/Registration.scala

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package models
22

3-
import org.slf4j.LoggerFactory
43
import play.api.libs.json._
54

65
case class Registration(
@@ -12,24 +11,23 @@ case class Registration(
1211
)
1312

1413
object Registration {
15-
private val logger = LoggerFactory.getLogger(classOf[Registration])
16-
1714
implicit val registrationJF: Format[Registration] = {
1815
val base = Json.format[Registration]
1916
Format(
2017
Reads { json =>
21-
(json \ "topics").asOpt[JsArray].foreach { arr =>
22-
val invalid = arr.value.flatMap { v =>
18+
val invalid = (json \ "topics").asOpt[JsArray].toSeq.flatMap { arr =>
19+
arr.value.flatMap { v =>
2320
if (v.validate[Topic].isError) {
2421
val topicType = (v \ "type").asOpt[String].getOrElse("unknown")
2522
val topicName = (v \ "name").asOpt[String].getOrElse("unknown")
26-
Some(s"""$topicType is not a valid topic type (topic name="$topicName")""")
23+
Some(s"""Topic type="$topicType" (topic name="$topicName")""")
2724
} else None
2825
}
29-
if (invalid.nonEmpty)
30-
logger.warn(s"Bad request: ${invalid.mkString(", ")}")
3126
}
32-
base.reads(json)
27+
if (invalid.nonEmpty)
28+
JsError(s"$InvalidTopicMarker: ${invalid.mkString(", ")}")
29+
else
30+
base.reads(json)
3331
},
3432
base
3533
)

registration/app/registration/CustomErrorHandler.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ class CustomErrorHandler(env: Environment, config: Configuration, sourceMapper:
1414
private val logger: Logger = LoggerFactory.getLogger(this.getClass)
1515
override def onBadRequest(request: RequestHeader, message: String): Future[Result] = {
1616
val debugInfo = request.headers.get("User-Agent")
17-
if (!message.startsWith("Json validation error")) {
18-
logger.error(s"Bad request due to $message. User agent = $debugInfo")
19-
}
17+
val logMessage = "INVALID_TOPICS: (.+)\\)\\)\\)".r
18+
.findFirstMatchIn(message)
19+
.map(m => s"Bad request due to invalid topic types. ${m.group(1)}")
20+
.getOrElse(s"Bad request due to $message")
21+
logger.error(s"$logMessage. User agent = $debugInfo")
2022
Future.successful(BadRequest("Bad request"))
2123
}
2224
}

0 commit comments

Comments
 (0)