Skip to content

Commit cc4e51f

Browse files
fix #3
1 parent a89cbb0 commit cc4e51f

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/main/scala/io/otoroshi/wasm4s/scaladsl/wasm.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,13 @@ object WasmSourceKind {
221221
ec: ExecutionContext
222222
): Future[Either[JsValue, ByteString]] = {
223223
ic.wasmoSettings.flatMap {
224-
case Some(settings @ WasmoSettings(url, _, _, kind, _)) => {
224+
case Some(settings @ WasmoSettings(url, _, _, kind, _, tlsConfig)) => {
225225
val (apikeyHeader, apikey) = ApikeyHelper.generate(settings)
226226
val wasmoUrl = s"$url/wasm/$path"
227227
val followRedirect = opts.select("follow_redirect").asOpt[Boolean].getOrElse(true)
228228
val timeout = opts.select("timeout").asOpt[Long].map(_.millis).getOrElse(5.seconds)
229229
if (ic.logger.isDebugEnabled) ic.logger.debug(s"[WasmSourceKind Wasmo] fetching wasm from source at GET ${wasmoUrl}")
230-
ic.url(wasmoUrl)
230+
ic.url(wasmoUrl, tlsConfig)
231231
.withFollowRedirects(followRedirect)
232232
.withRequestTimeout(timeout)
233233
.withHttpHeaders(

src/main/scala/io/otoroshi/wasm4s/scaladsl/wasmo.scala

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.otoroshi.wasm4s.scaladsl
22

33
import io.otoroshi.wasm4s.scaladsl.implicits._
4+
import io.otoroshi.wasm4s.scaladsl.security.TlsConfig
45
import play.api.libs.json._
56

67
import scala.util.{Failure, Success, Try}
@@ -11,6 +12,7 @@ case class WasmoSettings(
1112
clientSecret: String = "admin-api-apikey-secret",
1213
pluginsFilter: Option[String] = Some("*"),
1314
legacyAuth: Boolean = false,
15+
tlsConfig: Option[TlsConfig] = None,
1416
) {
1517
def json: JsValue = WasmoSettings.format.writes(this)
1618
}
@@ -24,6 +26,7 @@ object WasmoSettings {
2426
"clientSecret" -> o.clientSecret,
2527
"legacyAuth" -> o.legacyAuth,
2628
"pluginsFilter" -> o.pluginsFilter.map(JsString).getOrElse(JsNull).as[JsValue],
29+
"tlsConfig" -> o.tlsConfig.map(_.json).getOrElse(JsNull).as[JsValue],
2730
)
2831

2932
override def reads(json: JsValue): JsResult[WasmoSettings] =
@@ -34,6 +37,7 @@ object WasmoSettings {
3437
clientSecret = (json \ "clientSecret").asOpt[String].getOrElse("admin-api-apikey-secret"),
3538
legacyAuth = (json \ "legacyAuth").asOpt[Boolean].getOrElse(false),
3639
pluginsFilter = (json \ "pluginsFilter").asOpt[String].getOrElse("*").some,
40+
tlsConfig = json.select("tls").asOpt(TlsConfig.format).orElse(json.select("tls_config").asOpt(TlsConfig.format))
3741
)
3842
} match {
3943
case Failure(e) => JsError(e.getMessage)

0 commit comments

Comments
 (0)