All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.twitter.server.handler.SummaryHandler.scala Maven / Gradle / Ivy

The newest version!
package com.twitter.server.handler

import com.twitter.finagle.Service
import com.twitter.finagle.http.{Request, Response}
import com.twitter.io.Buf
import com.twitter.server.util.HttpUtils.{expectsHtml, newOk, newResponse}
import com.twitter.util.Future

private object SummaryHandler {
  val TextResponse = "Visit twitter-server's admin pages via browser for a richer experience."

  def render(
    finagleVersion: String,
    procInfo: Seq[String]
  ): String =
    s"""
      
      
  • ${ (for (key <- procInfo) yield { s"""
  • ${key}: ... ·
  • """ }).mkString("\n") }
  • Finagle Ver: ${finagleVersion}
""" } class SummaryHandler extends Service[Request, Response] { import SummaryHandler._ override def apply(req: Request): Future[Response] = if (!expectsHtml(req)) newOk(TextResponse) else { val finagleVersion = com.twitter.finagle.Init.finagleVersion val procInfo = Seq("jvm/uptime", "jvm/thread/count", "jvm/mem/current/used", "jvm/gc/msec") val html = render(finagleVersion, procInfo) newResponse( contentType = "text/html;charset=UTF-8", content = Buf.Utf8(html) ) } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy