Skip to content

Instantly share code, notes, and snippets.

@RaasAhsan
Last active January 30, 2021 01:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RaasAhsan/b98e00ac8c9309ce8bd1d4034fb685bf to your computer and use it in GitHub Desktop.
Save RaasAhsan/b98e00ac8c9309ce8bd1d4034fb685bf to your computer and use it in GitHub Desktop.
Load test setup
import cats.effect._
import org.http4s.implicits._
import org.http4s.server.blaze.BlazeServerBuilder
import org.http4s.server.middleware.Logger
import scala.concurrent.ExecutionContext.global
object BlazeServer extends IOApp {
def server: IO[Nothing] = {
val app = Logger.httpApp(true, true)(routes.orNotFound)
BlazeServerBuilder[IO](global)
.bindHttp(9000, "0.0.0.0")
.withHttpApp(app)
.resource
.use(_ => IO.never)
}
override def run(args: List[String]): IO[ExitCode] =
server.as(ExitCode.Success)
}
import cats.effect._
import org.http4s.implicits._
import org.http4s.ember.server.EmberServerBuilder
import org.http4s.server.middleware.Logger
object EmberServer extends IOApp {
def server: IO[Nothing] = {
val app = Logger.httpApp(true, true)(routes.orNotFound)
EmberServerBuilder.default[IO]
.withHttpApp(app)
.withHost("0.0.0.0")
.withPort(9000)
.build
.use(_ => IO.never)
}
override def run(args: List[String]): IO[ExitCode] =
server.as(ExitCode.Success)
}
import cats.effect.IO
import org.http4s.HttpRoutes
import org.http4s.dsl.Http4sDsl
package object http4sloadtests {
def routes: HttpRoutes[IO] = {
val dsl = new Http4sDsl[IO]{}
import dsl._
HttpRoutes.of {
case GET -> Root =>
Ok("OK")
case GET -> Root / "health" =>
Ok("OK")
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment