João Gabriel Zó
10/13/2022, 12:28 PMAleksei Tirman [JB]
10/13/2022, 12:37 PMayodele
10/13/2022, 1:06 PMAleksei Tirman [JB]
10/13/2022, 1:12 PMmaxmello
10/13/2022, 1:12 PMval attributeHttpClient = AttributeKey<HttpClient>("httpClient")
val Application.httpClient: HttpClient
get() = attributes[attributeHttpClient]
val ApplicationCall.httpClient: HttpClient
get() = this.application.httpClient
and inside your application module
this.attributes.put(attributeHttpClient, /* create your default http client here */)
Which is basically the same as using lateinit var
top level and initializing once inside the module, but I like it a little better as it restricts usage to have at least access to the application
Aleksei Tirman [JB]
10/13/2022, 1:15 PM