Muyinda Rogers

Personal Timeline

14 Jan 2024

Visitation Book

Registering of filters, Filters are components that help process http requests and responses before reaching controllers gloabally, they are used for logging, security etc. Here is how to register a filter
1) consider a logging class



package filters
import akka.stream.Materializer
import play.api.mvc.{Filter, RequestHeader, Result}
import javax.inject.Inject
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
class LoggingFilter @Inject()(implicit val mat: Materializer) extends Filter {
 @Override def apply(nextFilter: RequestHeader => Future[Result])(requestHeader: RequestHeader): Future[Result] = {
val startTime = System.currentTimeMillis()
nextFilter(requestHeader).map { result =>
val endTime = System.currentTimeMillis()
val requestTime = endTime - startTime
println("This filter is working gracefully  ")
println(s"${requestHeader.method} ${requestHeader.uri} took ${requestTime} ms and returned ${result.header.status}")
result
}
}
}

2) Register the filters to the general filters class. just like below
package filters

import play.api.http.HttpFilters
import play.api.mvc.EssentialFilter
import play.filters.csrf.CSRFFilter

import javax.inject.Inject

class Filters @Inject()(csrfFilter: CSRFFilter,
                        authenticationFilter: AuthenticationFilter,
                          logginfilter:LoggingFilter) extends HttpFilters {
  def filters: Seq[EssentialFilter] = Seq(csrfFilter, authenticationFilter,logginfilter)
}

2) Register the filters class to the application.conf


play.http.filters = "filters.Filters"
		

13 Jan 2024

Deployed v1.0.0-alpha Auth Service

The project is a multi project Authentication application, meant to handle all my application as a service.

  • Spring boot
  • Postgresql
  • Docker

2020

Updated 4.4.0

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Fixed bug

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

2019

Updated 4.0

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Fixed bug

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Reach 500 Users

Lorem ipsum dolor sit amet, consectetur adipisicing elit.