-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathFineDiningDevelopmentService.kt
67 lines (62 loc) · 2.23 KB
/
FineDiningDevelopmentService.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package app.cash.backfila.development.finedining
import app.cash.backfila.development.BackfilaDevelopmentLogging
import app.cash.backfila.development.DevServiceConstants.Companion.BACKFILA_PORT
import app.cash.backfila.development.DevServiceConstants.Companion.FINE_DINING_PORT
import app.cash.backfila.development.DevelopmentAdminDashboardModule
import app.cash.backfila.development.ServiceHeaderInterceptor
import misk.MiskApplication
import misk.MiskRealServiceModule
import misk.audit.NoOpAuditClientModule
import misk.client.HttpClientEndpointConfig
import misk.client.HttpClientsConfig
import misk.client.HttpClientsConfigModule
import misk.config.Config
import misk.config.ConfigModule
import misk.environment.DeploymentModule
import misk.inject.KAbstractModule
import misk.security.authz.FakeCallerAuthenticator
import misk.security.authz.MiskCallerAuthenticator
import misk.web.MiskWebModule
import misk.web.WebConfig
import okhttp3.Interceptor
import wisp.deployment.Deployment
/**
* A fake development service that takes a long time to do anything.
*/
fun main(args: Array<String>) {
BackfilaDevelopmentLogging.configure()
val deployment = Deployment(name = "FineDining", isLocalDevelopment = true)
val config = FineDiningConfig()
MiskApplication(
object : KAbstractModule() {
override fun configure() {
val webConfig = WebConfig(
port = FINE_DINING_PORT,
idle_timeout = 500000,
host = "0.0.0.0",
)
install(MiskWebModule(webConfig))
multibind<MiskCallerAuthenticator>().to<FakeCallerAuthenticator>()
install(ConfigModule.create("FineDining", config))
multibind<Interceptor>().toInstance(ServiceHeaderInterceptor("FineDining"))
install(
HttpClientsConfigModule(
HttpClientsConfig(
endpoints = mapOf(
"backfila" to HttpClientEndpointConfig(url = "http://localhost:$BACKFILA_PORT/"),
),
),
),
)
}
},
DeploymentModule(deployment),
FineDiningServiceModule(),
DevelopmentAdminDashboardModule(),
MiskRealServiceModule(),
NoOpAuditClientModule(),
).run(args)
}
data class FineDiningConfig(
val chef: String = "Julia Child",
) : Config