package com.github.rschatz

import com.twitter.finagle.http._
import com.twitter.finagle.{Service, SimpleFilter}
import com.twitter.util.Future
import com.github.rschatz.LogLevelOverride
import com.github.rschatz.LogLevelName

class LogLevelOverrideFilter extends SimpleFilter[Request, Response] {
  override def apply(request: Request, service: Service[Request, Response]): Future[Response] = {
    val logLevelOverride: Option[LogLevelName] = // figure out if we should override
    logLevelOverride match {
      case Some(logLevelName) =>
        LogLevelOverride(logLevelName).let {
          service(request)
        }
      case _ =>
        service(request)
    }
  }
}