These are the traits involved:
trait ScalatraFilter extends Filter with ServletBase
trait ServletBase extends ScalatraBase with SessionSupport with Initializable
trait ScalatraBase extends ScalatraContext with CoreDsl with DynamicScope.....
when using params you are using one of the few overloaded methods defined in ScalatraBase
def params(key: String)(implicit request: HttpServletRequest): String = params(request)(key)
def params(key: Symbol)(implicit request: HttpServletRequest): String = params(request)(key)
def params(implicit request: HttpServletRequest): Params = new ScalatraParams(multiParams)
check the code
https://github.com/scalatra/scalatra/blob/develop/core/src/main/scala/org/scalatra/ScalatraBase.scala https://github.com/scalatra/scalatra/blob/develop/core/src/main/scala/org/scalatra/ScalatraFilter.scala https://github.com/scalatra/scalatra/blob/develop/core/src/main/scala/org/scalatra/servlet/ServletBase.scala