mirror of
https://github.com/twitter/the-algorithm.git
synced 2024-06-30 15:06:07 +02:00
42 lines
1.4 KiB
Scala
42 lines
1.4 KiB
Scala
![]() |
package com.twitter.home_mixer.module
|
||
|
|
||
|
import com.google.inject.Provides
|
||
|
import com.twitter.conversions.DurationOps._
|
||
|
import com.twitter.finagle.mtls.authentication.ServiceIdentifier
|
||
|
import com.twitter.finagle.stats.StatsReceiver
|
||
|
import com.twitter.finagle.thrift.ClientId
|
||
|
import com.twitter.inject.TwitterModule
|
||
|
import com.twitter.product_mixer.shared_library.thrift_client.FinagleThriftClientBuilder
|
||
|
import com.twitter.product_mixer.shared_library.thrift_client.NonIdempotent
|
||
|
import com.twitter.search.blender.thriftscala.BlenderService
|
||
|
import javax.inject.Singleton
|
||
|
|
||
|
object BlenderClientModule extends TwitterModule {
|
||
|
|
||
|
@Singleton
|
||
|
@Provides
|
||
|
def providesBlenderClient(
|
||
|
serviceIdentifier: ServiceIdentifier,
|
||
|
statsReceiver: StatsReceiver
|
||
|
): BlenderService.MethodPerEndpoint = {
|
||
|
val clientId = serviceIdentifier.environment.toLowerCase match {
|
||
|
case "prod" => ClientId("")
|
||
|
case _ => ClientId("")
|
||
|
}
|
||
|
|
||
|
FinagleThriftClientBuilder.buildFinagleMethodPerEndpoint[
|
||
|
BlenderService.ServicePerEndpoint,
|
||
|
BlenderService.MethodPerEndpoint
|
||
|
](
|
||
|
serviceIdentifier = serviceIdentifier,
|
||
|
clientId = clientId,
|
||
|
dest = "/s/blender-universal/blender",
|
||
|
label = "blender",
|
||
|
statsReceiver = statsReceiver,
|
||
|
idempotency = NonIdempotent,
|
||
|
timeoutPerRequest = 1000.milliseconds,
|
||
|
timeoutTotal = 1000.milliseconds,
|
||
|
)
|
||
|
}
|
||
|
}
|