private[this] def handlePut()

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")
  }