1
1
package io .otoroshi .wasm4s .scaladsl
2
2
3
3
import io .otoroshi .wasm4s .scaladsl .implicits ._
4
+ import io .otoroshi .wasm4s .scaladsl .security .TlsConfig
4
5
import play .api .libs .json ._
5
6
6
7
import scala .util .{Failure , Success , Try }
@@ -11,6 +12,7 @@ case class WasmoSettings(
11
12
clientSecret : String = " admin-api-apikey-secret" ,
12
13
pluginsFilter : Option [String ] = Some (" *" ),
13
14
legacyAuth : Boolean = false ,
15
+ tlsConfig : Option [TlsConfig ] = None ,
14
16
) {
15
17
def json : JsValue = WasmoSettings .format.writes(this )
16
18
}
@@ -24,6 +26,7 @@ object WasmoSettings {
24
26
" clientSecret" -> o.clientSecret,
25
27
" legacyAuth" -> o.legacyAuth,
26
28
" pluginsFilter" -> o.pluginsFilter.map(JsString ).getOrElse(JsNull ).as[JsValue ],
29
+ " tlsConfig" -> o.tlsConfig.map(_.json).getOrElse(JsNull ).as[JsValue ],
27
30
)
28
31
29
32
override def reads (json : JsValue ): JsResult [WasmoSettings ] =
@@ -34,6 +37,7 @@ object WasmoSettings {
34
37
clientSecret = (json \ " clientSecret" ).asOpt[String ].getOrElse(" admin-api-apikey-secret" ),
35
38
legacyAuth = (json \ " legacyAuth" ).asOpt[Boolean ].getOrElse(false ),
36
39
pluginsFilter = (json \ " pluginsFilter" ).asOpt[String ].getOrElse(" *" ).some,
40
+ tlsConfig = json.select(" tls" ).asOpt(TlsConfig .format).orElse(json.select(" tls_config" ).asOpt(TlsConfig .format))
37
41
)
38
42
} match {
39
43
case Failure (e) => JsError (e.getMessage)
0 commit comments