app/AppComponents.scala (19 lines of code) (raw):

import org.apache.pekko.stream.ActorMaterializer import com.gu.contentapi.sanity.support.CloudWatchReporter import play.api.ApplicationLoader.Context import play.api.{ BuiltInComponentsFromContext, NoHttpFiltersComponents } import play.api.inject.DefaultApplicationLifecycle import play.api.libs.ws.ahc.{AhcWSComponents, AhcWSClient} import play.api.mvc.legacy.Controller import play.api.routing.Router import controllers.HealthcheckController import router.Routes class AppComponents(context: Context) extends BuiltInComponentsFromContext(context) with AhcWSComponents with NoHttpFiltersComponents { Controller.init(controllerComponents) val app = new App(new DefaultApplicationLifecycle(), CloudWatchReporter(configuration), wsClient) val router: Router = new Routes(httpErrorHandler, new HealthcheckController()) app.start }