Skip to content

Commit 0fd2f1f

Browse files
authored
chore: Update http4s to 0.22.x and fix issues (#640)
1 parent b541be8 commit 0fd2f1f

File tree

11 files changed

+28
-27
lines changed

11 files changed

+28
-27
lines changed

bundle-monix-http4s-blaze/src/main/scala/com/avast/sst/bundle/MonixServerApp.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ trait MonixServerApp extends TaskApp {
1414

1515
private val logger = LoggerFactory.getLogger(this.getClass)
1616

17-
def program: Resource[Task, Server[Task]]
17+
def program: Resource[Task, Server]
1818

1919
override def run(args: List[String]): Task[ExitCode] = {
2020
program

bundle-zio-http4s-blaze/src/main/scala/com/avast/sst/bundle/ZioServerApp.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ trait ZioServerApp extends CatsApp {
1717

1818
private val logger = LoggerFactory.getLogger(this.getClass)
1919

20-
def program: Resource[Task, Server[Task]]
20+
def program: Resource[Task, Server]
2121

2222
@nowarn("msg=dead code")
2323
override def run(args: List[String]): ZIO[ZEnv, Nothing, ExitCode] = {

example/src/main/scala/com/avast/sst/example/Main.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import scala.concurrent.ExecutionContext
3030

3131
object Main extends ZioServerApp {
3232

33-
def program: Resource[Task, Server[Task]] = {
33+
def program: Resource[Task, Server] = {
3434
for {
3535
configuration <- Resource.eval(PureConfigModule.makeOrRaise[Task, Configuration])
3636
executorModule <- ExecutorModule.makeFromExecutionContext[Task](runtime.platform.executor.asEC)

http4s-client-blaze-pureconfig/src/main/scala/com/avast/sst/http4s/client/pureconfig/ConfigReaders.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.avast.sst.http4s.client.pureconfig
22

33
import cats.syntax.either._
44
import com.avast.sst.http4s.client.Http4sBlazeClientConfig
5-
import org.http4s.client.blaze.ParserMode
5+
import org.http4s.blaze.client.ParserMode
66
import org.http4s.headers.`User-Agent`
77
import pureconfig.ConfigReader
88
import pureconfig.error.CannotConvert

http4s-client-blaze/src/main/scala/com/avast/sst/http4s/client/Http4sBlazeClientConfig.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.avast.sst.http4s.client
22

3-
import org.http4s.BuildInfo
4-
import org.http4s.client.blaze.ParserMode
3+
import org.http4s.blaze.client.ParserMode
54
import org.http4s.client.defaults
6-
import org.http4s.headers.{AgentComment, AgentProduct, `User-Agent`}
5+
import org.http4s.headers.`User-Agent`
6+
import org.http4s.{BuildInfo, ProductComment, ProductId}
77

88
import java.util.concurrent.TimeUnit
99
import scala.concurrent.duration.{Duration, FiniteDuration}
@@ -13,7 +13,7 @@ final case class Http4sBlazeClientConfig(
1313
idleTimeout: FiniteDuration = Duration(1, TimeUnit.MINUTES),
1414
requestTimeout: FiniteDuration = defaults.RequestTimeout,
1515
connectTimeout: FiniteDuration = defaults.ConnectTimeout,
16-
userAgent: `User-Agent` = `User-Agent`(AgentProduct("http4s-blaze-client", Some(BuildInfo.version)), List(AgentComment("Server"))),
16+
userAgent: `User-Agent` = `User-Agent`(ProductId("http4s-blaze-client", Some(BuildInfo.version)), List(ProductComment("Server"))),
1717
maxTotalConnections: Int = 10,
1818
maxWaitQueueLimit: Int = 256,
1919
maxConnectionsPerRequestkey: Int = 256,

http4s-client-blaze/src/main/scala/com/avast/sst/http4s/client/Http4sBlazeClientModule.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.avast.sst.http4s.client
22

33
import cats.effect.{ConcurrentEffect, Resource}
4+
import org.http4s.blaze.client.BlazeClientBuilder
45
import org.http4s.client.Client
5-
import org.http4s.client.blaze.BlazeClientBuilder
66

77
import javax.net.ssl.SSLContext
88
import scala.concurrent.ExecutionContext

http4s-client-blaze/src/test/scala/com/avast/sst/http4s/client/Http4SBlazeClientTest.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.avast.sst.http4s.client
22

33
import cats.effect._
44
import org.http4s.headers._
5+
import org.http4s.{ProductComment, ProductId}
56
import org.scalatest.funsuite.AsyncFunSuite
67

78
import scala.concurrent.ExecutionContext
@@ -19,7 +20,7 @@ class Http4SBlazeClientTest extends AsyncFunSuite {
1920
val test = for {
2021
client <- Http4sBlazeClientModule.make[IO](
2122
Http4sBlazeClientConfig(
22-
userAgent = `User-Agent`(AgentProduct("http4s-client", Some("1.2.3")), List(AgentComment("Test")))
23+
userAgent = `User-Agent`(ProductId("http4s-client", Some("1.2.3")), List(ProductComment("Test")))
2324
),
2425
ExecutionContext.global
2526
)

http4s-server-blaze/src/main/scala/com/avast/sst/http4s/server/Http4sBlazeServerModule.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package com.avast.sst.http4s.server
22

33
import cats.effect.{ConcurrentEffect, Resource, Timer}
44
import org.http4s.HttpApp
5+
import org.http4s.blaze.server.BlazeServerBuilder
56
import org.http4s.server.Server
6-
import org.http4s.server.blaze.BlazeServerBuilder
77

88
import java.net.{InetSocketAddress, StandardSocketOptions}
99
import scala.concurrent.ExecutionContext
@@ -19,7 +19,7 @@ object Http4sBlazeServerModule {
1919
config: Http4sBlazeServerConfig,
2020
httpApp: HttpApp[F],
2121
executionContext: ExecutionContext
22-
): Resource[F, Server[F]] = {
22+
): Resource[F, Server] = {
2323
for {
2424
inetSocketAddress <- Resource.eval(
2525
ConcurrentEffect[F].delay(

http4s-server/src/main/scala/com/avast/sst/http4s/server/middleware/CorrelationIdMiddleware.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.avast.sst.http4s.server.middleware
22

3-
import cats.data.{Kleisli, OptionT}
3+
import cats.data.{Kleisli, NonEmptyList, OptionT}
44
import cats.effect.Sync
55
import cats.syntax.functor._
66
import com.avast.sst.http4s.server.middleware.CorrelationIdMiddleware.CorrelationId
7-
import io.chrisdavenport.vault.Key
8-
import org.http4s.util.CaseInsensitiveString
97
import org.http4s.{Header, HttpRoutes, Request, Response}
108
import org.slf4j.LoggerFactory
9+
import org.typelevel.ci.CIString
10+
import org.typelevel.vault.Key
1111

1212
import java.util.UUID
1313

@@ -17,7 +17,7 @@ import java.util.UUID
1717
* Use method `retrieveCorrelationId` to get the value from request attributes.
1818
*/
1919
class CorrelationIdMiddleware[F[_]: Sync](
20-
correlationIdHeaderName: CaseInsensitiveString,
20+
correlationIdHeaderName: CIString,
2121
attributeKey: Key[CorrelationId],
2222
generator: () => String
2323
) {
@@ -29,7 +29,7 @@ class CorrelationIdMiddleware[F[_]: Sync](
2929
def wrap(routes: HttpRoutes[F]): HttpRoutes[F] =
3030
Kleisli[OptionT[F, *], Request[F], Response[F]] { request =>
3131
request.headers.get(correlationIdHeaderName) match {
32-
case Some(header) =>
32+
case Some(NonEmptyList(header, _)) =>
3333
val requestWithAttribute = request.withAttribute(attributeKey, CorrelationId(header.value))
3434
routes(requestWithAttribute).map(r => r.withHeaders(r.headers.put(header)))
3535
case None =>
@@ -38,7 +38,7 @@ class CorrelationIdMiddleware[F[_]: Sync](
3838
_ <- log(newCorrelationId)
3939
requestWithAttribute = request.withAttribute(attributeKey, CorrelationId(newCorrelationId))
4040
response <- routes(requestWithAttribute)
41-
} yield response.withHeaders(response.headers.put(Header(correlationIdHeaderName.value, newCorrelationId)))
41+
} yield response.withHeaders(response.headers.put(Header.Raw(correlationIdHeaderName, newCorrelationId)))
4242
}
4343
}
4444

@@ -62,7 +62,7 @@ object CorrelationIdMiddleware {
6262
@SuppressWarnings(Array("scalafix:Disable.toString"))
6363
def default[F[_]: Sync]: F[CorrelationIdMiddleware[F]] = {
6464
Key.newKey[F, CorrelationId].map { attributeKey =>
65-
new CorrelationIdMiddleware(CaseInsensitiveString("Correlation-ID"), attributeKey, () => UUID.randomUUID().toString)
65+
new CorrelationIdMiddleware(CIString("Correlation-ID"), attributeKey, () => UUID.randomUUID().toString)
6666
}
6767
}
6868

http4s-server/src/test/scala/com/avast/sst/http4s/server/middleware/CorrelationIdMiddlewareTest.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ package com.avast.sst.http4s.server.middleware
22

33
import cats.effect.{ContextShift, IO, Resource, Timer}
44
import com.avast.sst.http4s.server.Http4sRouting
5-
import org.http4s.client.blaze.BlazeClientBuilder
5+
import org.http4s.blaze.client.BlazeClientBuilder
6+
import org.http4s.blaze.server.BlazeServerBuilder
67
import org.http4s.dsl.Http4sDsl
7-
import org.http4s.server.blaze.BlazeServerBuilder
8-
import org.http4s.util.CaseInsensitiveString
98
import org.http4s.{Header, HttpRoutes, Request, Uri}
109
import org.scalatest.funsuite.AsyncFunSuite
10+
import org.typelevel.ci.CIString
1111

1212
import java.net.InetSocketAddress
1313
import scala.concurrent.ExecutionContext
@@ -25,7 +25,7 @@ class CorrelationIdMiddlewareTest extends AsyncFunSuite with Http4sDsl[IO] {
2525
middleware.wrap {
2626
HttpRoutes.of[IO] { case req @ GET -> Root / "test" =>
2727
val id = middleware.retrieveCorrelationId(req)
28-
Ok("test").map(_.withHeaders(Header("Attribute-Value", id.toString)))
28+
Ok("test").map(_.withHeaders(Header.Raw(CIString("Attribute-Value"), id.toString)))
2929
}
3030
}
3131
}
@@ -41,12 +41,12 @@ class CorrelationIdMiddlewareTest extends AsyncFunSuite with Http4sDsl[IO] {
4141
client
4242
.run(
4343
Request[IO](uri = Uri.unsafeFromString(s"http://${server.address.getHostString}:${server.address.getPort}/test"))
44-
.withHeaders(Header("Correlation-Id", "test-value"))
44+
.withHeaders(Header.Raw(CIString("Correlation-Id"), "test-value"))
4545
)
4646
.use { response =>
4747
IO.delay {
48-
assert(response.headers.get(CaseInsensitiveString("Correlation-Id")).get.value === "test-value")
49-
assert(response.headers.get(CaseInsensitiveString("Attribute-Value")).get.value === "Some(CorrelationId(test-value))")
48+
assert(response.headers.get(CIString("Correlation-Id")).get.head.value === "test-value")
49+
assert(response.headers.get(CIString("Attribute-Value")).get.head.value === "Some(CorrelationId(test-value))")
5050
}
5151
}
5252
}

project/Dependencies.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ object Dependencies {
4545
val datastaxJavaDriverCore = "4.13.0"
4646
val doobie = "0.13.4"
4747
val grpc = "1.39.0"
48-
val http4s = "0.21.25"
48+
val http4s = "0.22.2"
4949
val micrometerCore = "1.7.2"
5050
val micrometerJmx = "1.7.2"
5151
val micrometerStatsD = "1.7.2"

0 commit comments

Comments
 (0)