def apply()

in server/src/main/scala/com/twitter/server/handler/MetricExpressionHandler.scala [112:145]


  def apply(request: Request): Future[Response] = {
    val uri = Uri.fromRequest(request)
    val latchParam = uri.params.getAll("latching_style")
    val nameParam = uri.params.getAll("name").toSet
    val namespaceParam = uri.params.getAll("namespace").toSet

    val expressionSchemas = source.expressionList
    val filteredSchemas = expressionSchemas.filter(expressionSchema =>
      // namespace match if namespace param is present
      (namespaceParam.isEmpty || namespaceParam.contains(expressionSchema.namespace.mkString(":")))
      // name match if name param is present
        && (nameParam.isEmpty || nameParam.contains(expressionSchema.name)))

    val shouldRate = latchParam.exists { value =>
      value == "true" || value == "1"
    }
    val expressions = filteredSchemas.map { expressionSchema =>
      expressionSchema.copy(exprQuery =
        translateToQuery(expressionSchema.expr, shouldRate, sourceLatched, expressionSchema.labels))
    }

    newResponse(
      contentType = MediaType.JsonUtf8,
      content = Buf.Utf8(
        AdminJsonConverter.writeToString(
          Map(
            "@version" -> Version,
            "counters_latched" -> source.hasLatchedCounters,
            "separator_char" -> metadataScopeSeparator(),
            "expressions" -> expressions
          ))
      )
    )
  }