in http-server/src/main/scala/com/twitter/finatra/http/modules/DarkTrafficFilterModule.scala [52:85]
def enableSampling(injector: Injector): Request => Boolean
/**
* Override to specify further configuration of the Finagle [[Http.Client]].
*
* @param injector the [[com.twitter.inject.Injector]] for use in configuring the underlying client.
* @param client the default configured [[Http.Client]].
*
* @return a configured instance of the [[Http.Client]]
*/
protected def configureHttpClient(injector: Injector, client: Http.Client): Http.Client = client
@Provides
@Singleton
@DarkTrafficFilterType
final def provideDarkTrafficFilter(
injector: Injector,
statsReceiver: StatsReceiver,
@CanonicalResourceFilter canonicalResourceFilter: Filter[Request, Response, Request, Response],
@DarkTrafficService service: Option[Service[Request, Response]]
): Filter[Request, Response, Request, Response] = {
service match {
case Some(svc) =>
val filteredDarkService = canonicalResourceFilter.andThen(svc)
new DarkTrafficFilter[Request, Response](
filteredDarkService,
enableSampling(injector),
statsReceiver,
forwardAfterService
)
case _ =>
Filter.identity
}
}