in server/src/main/scala/com/twitter/server/handler/TunableHandler.scala [158:178]
private[this] def handlePut(req: Request): Future[Response] = req.contentType match {
case Some(MediaType.Json) =>
val json = req.contentString
JsonTunableMapper().parse(json) match {
case Return(tunableMap) =>
val id = req.path.stripPrefix(PathForId)
findMutable(registeredIdsFn(), id) match {
case None =>
respond(Status.NotFound, s"Mutable TunableMap not found for id: $id")
case Some(mutable) =>
mutable ++= tunableMap
val successMsg = s"Successfully updated tunables for id: $id"
log.info(successMsg)
respond(Status.Ok, successMsg)
}
case Throw(e) =>
respond(Status.BadRequest, s"Failed to parse JSON for PUT request: ${e.getMessage}")
}
case _ =>
respond(Status.BadRequest, s"Expected Content-Type ${MediaType.Json} for PUT request")
}