This commit is contained in:
Syed Muhammed Hassan Ali 2023-07-17 21:39:54 -05:00 committed by GitHub
commit a6bfec92bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 20 deletions

View File

@ -4,41 +4,28 @@ import com.twitter.discovery.common.stats.DiscoveryStatsFilter
import com.twitter.finagle.Service
import com.twitter.finagle.stats.StatsReceiver
import com.twitter.finatra.thrift.Controller
import com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler.GetIntersectionRequest
import com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler
import com.twitter.graph_feature_service.thriftscala
import com.twitter.graph_feature_service.thriftscala.Server.GetIntersection
import com.twitter.graph_feature_service.thriftscala.Server.GetPresetIntersection
import com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler.{fromGfsIntersectionRequest, fromGfsPresetIntersectionRequest}
import com.twitter.graph_feature_service.thriftscala._
import javax.inject.Inject
import javax.inject.Singleton
import javax.inject.{Inject, Singleton}
@Singleton
class ServerController @Inject() (
serverGetIntersectionHandler: ServerGetIntersectionHandler
)(
implicit statsReceiver: StatsReceiver)
extends Controller(thriftscala.Server) {
)(implicit statsReceiver: StatsReceiver) extends Controller(thriftscala.Server) {
private val getIntersectionService: Service[GetIntersectionRequest, GfsIntersectionResponse] =
new DiscoveryStatsFilter(statsReceiver.scope("srv").scope("get_intersection"))
.andThen(Service.mk(serverGetIntersectionHandler))
val getIntersection: Service[GetIntersection.Args, GfsIntersectionResponse] = { args =>
// TODO: Disable updateCache after HTL switch to use PresetIntersection endpoint.
getIntersectionService(
GetIntersectionRequest.fromGfsIntersectionRequest(args.request, cacheable = true))
getIntersectionService(fromGfsIntersectionRequest(args.request, cacheable = true))
}
handle(GetIntersection) { getIntersection }
def getPresetIntersection: Service[
GetPresetIntersection.Args,
GfsIntersectionResponse
] = { args =>
// TODO: Refactor after HTL switch to PresetIntersection
val cacheable = args.request.presetFeatureTypes == PresetFeatureTypes.HtlTwoHop
getIntersectionService(
GetIntersectionRequest.fromGfsPresetIntersectionRequest(args.request, cacheable))
def getPresetIntersection: Service[GetPresetIntersection.Args, GfsIntersectionResponse] = { args =>
getIntersectionService(fromGfsPresetIntersectionRequest(args.request, cacheable = args.request.presetFeatureTypes == PresetFeatureTypes.HtlTwoHop))
}
handle(GetPresetIntersection) { getPresetIntersection }