Finatra sets Server
header in com.twitter.finatra.http.filters.HttpResponseFilter
. You may use HttpResponseFilter directly or via CommonFilters.
If you want to override this behavior, I suggest defining a new Filter
like this
@Singleton
class CustomServerNameFilter extends SimpleFilter[Request, Response] {
def apply(request: Request, service: Service[Request, Response]): Future[Response] =
service(request).map { response =>
response.headerMap.set(HttpHeaders.Server, "My Custom Server")
response
}
}
And using it before HttpResponseFilter or CommonFilters like
class MyFinatraServer extends HttpServer {
override protected def configureHttp(router: HttpRouter): Unit =
router
.filter[CustomServerNameFilter]
.filter[CommonFilters]
.add[MyController]
}