Skip to content

Commit 07393db

Browse files
committed
[CHORE] Update akka version
1 parent 101a363 commit 07393db

File tree

8 files changed

+41
-51
lines changed

8 files changed

+41
-51
lines changed

build.sbt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,18 @@ val commonSettings = Seq(
1111
resolvers += "rocksDb" at "https://dl.bintray.com/ethereum/maven/"
1212

1313
val dep = {
14-
val akkaVersion = "2.5.12"
15-
val akkaHttpVersion = "10.1.1"
14+
val akkaVersion = "2.5.31"
15+
val akkaHttpVersion = "10.1.12"
1616
val circeVersion = "0.9.3"
1717
val rocksDb = "5.9.2"
1818

1919
Seq(
2020
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
2121
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion,
2222
"com.typesafe.akka" %% "akka-testkit" % akkaVersion,
23+
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
2324
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
24-
"ch.megard" %% "akka-http-cors" % "0.3.0",
25+
"ch.megard" %% "akka-http-cors" % "1.0.0",
2526
"org.json4s" %% "json4s-native" % "3.5.4",
2627
"de.heikoseeberger" %% "akka-http-json4s" % "1.21.0",
2728
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpVersion % "it,test",
@@ -39,7 +40,6 @@ val dep = {
3940
"io.circe" %% "circe-generic-extras" % circeVersion,
4041
"com.miguno.akka" %% "akka-mock-scheduler" % "0.5.1" % "it,test",
4142
"commons-io" % "commons-io" % "2.6",
42-
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
4343
"org.scala-sbt.ipcsocket" % "ipcsocket" % "1.0.0",
4444
"org.bouncycastle" % "bcprov-jdk15on" % "1.59",
4545
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.0",

src/main/scala/io/iohk/ethereum/faucet/FaucetConfig.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package io.iohk.ethereum.faucet
22

3-
import akka.http.scaladsl.model.headers.HttpOriginRange
3+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
44
import com.typesafe.config.{Config => TypesafeConfig}
55
import io.iohk.ethereum.domain.Address
66
import io.iohk.ethereum.utils.ConfigUtils
7-
87
import scala.concurrent.duration.{FiniteDuration, _}
98

109
case class FaucetConfig(
@@ -13,7 +12,7 @@ case class FaucetConfig(
1312
txGasPrice: BigInt,
1413
txGasLimit: BigInt,
1514
txValue: BigInt,
16-
corsAllowedOrigins: HttpOriginRange,
15+
corsAllowedOrigins: HttpOriginMatcher,
1716
rpcAddress: String,
1817
keyStoreDir: String,
1918
listenInterface: String,

src/main/scala/io/iohk/ethereum/jsonrpc/server/http/BasicJsonRpcHttpServer.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ package io.iohk.ethereum.jsonrpc.server.http
22

33
import akka.actor.ActorSystem
44
import akka.http.scaladsl.Http
5-
import akka.http.scaladsl.model.headers.HttpOriginRange
65
import akka.stream.ActorMaterializer
6+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
77
import io.iohk.ethereum.jsonrpc._
88
import io.iohk.ethereum.jsonrpc.server.http.JsonRpcHttpServer.JsonRpcHttpServerConfig
99
import io.iohk.ethereum.utils.Logger
10-
1110
import scala.concurrent.ExecutionContext.Implicits.global
1211
import scala.util.{Failure, Success}
1312

@@ -26,5 +25,5 @@ class BasicJsonRpcHttpServer(val jsonRpcController: JsonRpcController, config: J
2625
}
2726
}
2827

29-
override def corsAllowedOrigins: HttpOriginRange = config.corsAllowedOrigins
28+
override def corsAllowedOrigins: HttpOriginMatcher = config.corsAllowedOrigins
3029
}

src/main/scala/io/iohk/ethereum/jsonrpc/server/http/JsonRpcHttpServer.scala

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
package io.iohk.ethereum.jsonrpc.server.http
22

3-
import java.security.SecureRandom
4-
53
import akka.actor.ActorSystem
64
import akka.http.scaladsl.model.StatusCodes
7-
import akka.http.scaladsl.model.headers.HttpOriginRange
85
import akka.http.scaladsl.server.Directives._
96
import akka.http.scaladsl.server.{MalformedRequestContentRejection, RejectionHandler, Route}
107
import ch.megard.akka.http.cors.javadsl.CorsRejection
118
import ch.megard.akka.http.cors.scaladsl.CorsDirectives._
9+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
1210
import ch.megard.akka.http.cors.scaladsl.settings.CorsSettings
1311
import de.heikoseeberger.akkahttpjson4s.Json4sSupport
1412
import io.iohk.ethereum.jsonrpc.{JsonRpcController, JsonRpcErrors, JsonRpcRequest, JsonRpcResponse}
1513
import io.iohk.ethereum.utils.{ConfigUtils, Logger}
14+
import java.security.SecureRandom
1615
import org.json4s.JsonAST.JInt
1716
import org.json4s.{DefaultFormats, native}
18-
1917
import scala.concurrent.ExecutionContext.Implicits.global
2018
import scala.concurrent.Future
2119
import scala.util.Try
@@ -27,7 +25,7 @@ trait JsonRpcHttpServer extends Json4sSupport {
2725

2826
implicit val formats = DefaultFormats
2927

30-
def corsAllowedOrigins: HttpOriginRange
28+
def corsAllowedOrigins: HttpOriginMatcher
3129

3230
val corsSettings = CorsSettings.defaultSettings
3331
.withAllowGenericHttpRequests(true)
@@ -84,7 +82,7 @@ object JsonRpcHttpServer extends Logger {
8482
val certificateKeyStorePath: Option[String]
8583
val certificateKeyStoreType: Option[String]
8684
val certificatePasswordFile: Option[String]
87-
val corsAllowedOrigins: HttpOriginRange
85+
val corsAllowedOrigins: HttpOriginMatcher
8886
}
8987

9088
object JsonRpcHttpServerConfig {

src/main/scala/io/iohk/ethereum/jsonrpc/server/http/JsonRpcHttpsServer.scala

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package io.iohk.ethereum.jsonrpc.server.http
22

3-
import java.io.{File, FileInputStream}
4-
import java.security.{KeyStore, SecureRandom}
5-
import javax.net.ssl.{KeyManagerFactory, SSLContext, TrustManagerFactory}
6-
73
import akka.actor.ActorSystem
8-
import akka.http.scaladsl.model.headers.HttpOriginRange
94
import akka.http.scaladsl.{ConnectionContext, Http}
105
import akka.stream.ActorMaterializer
6+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
117
import io.iohk.ethereum.jsonrpc.JsonRpcController
128
import io.iohk.ethereum.jsonrpc.server.http.JsonRpcHttpServer.JsonRpcHttpServerConfig
139
import io.iohk.ethereum.jsonrpc.server.http.JsonRpcHttpsServer.HttpsSetupResult
1410
import io.iohk.ethereum.utils.Logger
15-
11+
import java.io.{File, FileInputStream}
12+
import java.security.{KeyStore, SecureRandom}
13+
import javax.net.ssl.{KeyManagerFactory, SSLContext, TrustManagerFactory}
1614
import scala.concurrent.ExecutionContext.Implicits.global
1715
import scala.io.Source
1816
import scala.util.{Failure, Success, Try}
@@ -113,7 +111,7 @@ class JsonRpcHttpsServer(val jsonRpcController: JsonRpcController, config: JsonR
113111
Left("HTTPS requires: certificate-keystore-path, certificate-keystore-type and certificate-password-file to be configured")
114112
}
115113

116-
override def corsAllowedOrigins: HttpOriginRange = config.corsAllowedOrigins
114+
override def corsAllowedOrigins: HttpOriginMatcher = config.corsAllowedOrigins
117115
}
118116

119117
object JsonRpcHttpsServer {

src/main/scala/io/iohk/ethereum/utils/ConfigUtils.scala

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
package io.iohk.ethereum.utils
22

3-
import java.util.Map.Entry
4-
5-
import akka.http.scaladsl.model.headers.{HttpOrigin, HttpOriginRange}
3+
import akka.http.scaladsl.model.headers.HttpOrigin
4+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
65
import com.typesafe.config.{ConfigValue, Config => TypesafeConfig}
7-
6+
import java.util.Map.Entry
87
import scala.collection.JavaConverters._
98
import scala.util.Try
109

1110
object ConfigUtils {
1211

13-
def parseCorsAllowedOrigins(config: TypesafeConfig, key: String): HttpOriginRange = {
12+
def parseCorsAllowedOrigins(config: TypesafeConfig, key: String): HttpOriginMatcher = {
1413
(Try(parseMultipleOrigins(config.getStringList(key).asScala)) recoverWith {
1514
case _ => Try(parseSingleOrigin(config.getString(key)))
1615
}).get
1716
}
1817

19-
def parseMultipleOrigins(origins: Seq[String]): HttpOriginRange = HttpOriginRange(origins.map(HttpOrigin(_)): _*)
18+
def parseMultipleOrigins(origins: Seq[String]): HttpOriginMatcher = HttpOriginMatcher(origins.map(HttpOrigin(_)): _*)
2019

21-
def parseSingleOrigin(origin: String): HttpOriginRange = origin match {
22-
case "*" => HttpOriginRange.*
23-
case s => HttpOriginRange.Default(HttpOrigin(s) :: Nil)
20+
def parseSingleOrigin(origin: String): HttpOriginMatcher = origin match {
21+
case "*" => HttpOriginMatcher.*
22+
case s => HttpOriginMatcher.Default(HttpOrigin(s) :: Nil)
2423
}
2524

2625
def keys(config: TypesafeConfig): Set[String] = config.entrySet().asScala.toSet

src/test/scala/io/iohk/ethereum/faucet/FaucetApiSpec.scala

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,23 @@
11
package io.iohk.ethereum.faucet
22

3-
import java.net.InetAddress
4-
import java.security.SecureRandom
5-
import java.time.{Clock, Instant}
6-
73
import akka.http.scaladsl.model._
8-
import akka.http.scaladsl.model.headers.HttpOriginRange
4+
import akka.http.scaladsl.model.headers._
95
import akka.http.scaladsl.server.Route
106
import akka.http.scaladsl.testkit.ScalatestRouteTest
11-
import headers._
127
import akka.util.ByteString
13-
import io.iohk.ethereum.crypto
8+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
9+
import io.iohk.ethereum.crypto._
1410
import io.iohk.ethereum.domain.{Address, Transaction}
1511
import io.iohk.ethereum.keystore.{KeyStore, Wallet}
1612
import io.iohk.ethereum.mallet.service.RpcClient
17-
import io.iohk.ethereum.crypto._
18-
import org.scalatest.{FlatSpec, Matchers}
19-
import org.scalamock.scalatest.MockFactory
20-
import io.iohk.ethereum.rlp
2113
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions.SignedTransactionEnc
14+
import io.iohk.ethereum.{crypto, rlp}
15+
import java.net.InetAddress
16+
import java.security.SecureRandom
17+
import java.time.{Clock, Instant}
2218
import org.bouncycastle.util.encoders.Hex
23-
19+
import org.scalamock.scalatest.MockFactory
20+
import org.scalatest.{FlatSpec, Matchers}
2421
import scala.concurrent.duration._
2522

2623
class FaucetApiSpec extends FlatSpec with Matchers with MockFactory with ScalatestRouteTest {
@@ -30,7 +27,7 @@ class FaucetApiSpec extends FlatSpec with Matchers with MockFactory with Scalate
3027
val (prvKey, pubKey) = keyPairToByteStrings(walletKeyPair)
3128
val wallet = Wallet(Address(crypto.kec256(pubKey)), prvKey)
3229

33-
val config = FaucetConfig(wallet.address, "", 10, 20, 1, HttpOriginRange.*, "", "", "", 0, 10.seconds, 1024)
30+
val config = FaucetConfig(wallet.address, "", 10, 20, 1, HttpOriginMatcher.*, "", "", "", 0, 10.seconds, 1024)
3431

3532
val mockRpcClient = mock[RpcClient]
3633
val mockKeyStore = mock[KeyStore]
@@ -64,7 +61,7 @@ class FaucetApiSpec extends FlatSpec with Matchers with MockFactory with Scalate
6461
val (prvKey, pubKey) = keyPairToByteStrings(walletKeyPair)
6562
val wallet = Wallet(Address(crypto.kec256(pubKey)), prvKey)
6663

67-
val config = FaucetConfig(wallet.address, "", 10, 20, 1, HttpOriginRange.*, "", "", "", 0, 10.seconds, 1024)
64+
val config = FaucetConfig(wallet.address, "", 10, 20, 1, HttpOriginMatcher.*, "", "", "", 0, 10.seconds, 1024)
6865

6966
val mockRpcClient = mock[RpcClient]
7067
val mockKeyStore = mock[KeyStore]

src/test/scala/io/iohk/ethereum/jsonrpc/server/http/JsonRpcHttpServerSpec.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package io.iohk.ethereum.jsonrpc.server.http
22

33
import akka.http.scaladsl.model._
4-
import akka.http.scaladsl.model.headers.{HttpOrigin, HttpOriginRange, Origin}
4+
import akka.http.scaladsl.model.headers.{HttpOrigin, Origin}
55
import akka.http.scaladsl.server.Route
66
import akka.http.scaladsl.testkit.ScalatestRouteTest
77
import akka.util.ByteString
8+
import ch.megard.akka.http.cors.scaladsl.model.HttpOriginMatcher
89
import io.iohk.ethereum.jsonrpc.server.http.JsonRpcHttpServer.JsonRpcHttpServerConfig
910
import io.iohk.ethereum.jsonrpc.{JsonRpcController, JsonRpcResponse}
1011
import org.json4s.JsonAST.{JInt, JString}
1112
import org.scalamock.scalatest.MockFactory
1213
import org.scalatest.{FlatSpec, Matchers}
13-
1414
import scala.concurrent.Future
1515

1616
class JsonRpcHttpServerSpec extends FlatSpec with Matchers with ScalatestRouteTest {
@@ -89,7 +89,7 @@ class JsonRpcHttpServerSpec extends FlatSpec with Matchers with ScalatestRouteTe
8989
override val certificateKeyStorePath = None
9090
override val certificateKeyStoreType = None
9191
override val certificatePasswordFile = None
92-
override val corsAllowedOrigins = HttpOriginRange.*
92+
override val corsAllowedOrigins = HttpOriginMatcher.*
9393
}
9494

9595
val mockJsonRpcController = mock[JsonRpcController]
@@ -98,7 +98,7 @@ class JsonRpcHttpServerSpec extends FlatSpec with Matchers with ScalatestRouteTe
9898

9999
def run(): Unit = ()
100100

101-
override def corsAllowedOrigins = config.corsAllowedOrigins
101+
override def corsAllowedOrigins: HttpOriginMatcher = config.corsAllowedOrigins
102102
}
103103

104104
val corsAllowedOrigin = HttpOrigin("http://localhost:3333")
@@ -108,7 +108,7 @@ class JsonRpcHttpServerSpec extends FlatSpec with Matchers with ScalatestRouteTe
108108

109109
def run(): Unit = ()
110110

111-
override def corsAllowedOrigins = HttpOriginRange(corsAllowedOrigin)
111+
override def corsAllowedOrigins: HttpOriginMatcher = HttpOriginMatcher(corsAllowedOrigin)
112112
}
113113
}
114114

0 commit comments

Comments
 (0)