Skip to content

Instantly share code, notes, and snippets.

@susliko
Created April 6, 2024 17:33
Show Gist options
  • Save susliko/f303a803e8fd54b056b9027de33069b1 to your computer and use it in GitHub Desktop.
Save susliko/f303a803e8fd54b056b9027de33069b1 to your computer and use it in GitHub Desktop.
//> using platform native
//> using nativeVersion 0.4.17
//> using nativeMode debug
//> using dep com.armanbilge::epollcat::0.1.6
//> using toolkit typelevel:0.1.25
//> using dep org.typelevel::log4cats-noop::2.6.0
//> using dep org.http4s::http4s-dsl::0.23.26
//> using dep org.http4s::http4s-ember-server::0.23.26
import cats.effect.*
import com.comcast.ip4s.*
import org.http4s.*
import org.http4s.dsl.*
import org.http4s.dsl.io.*
import org.http4s.ember.server.EmberServerBuilder
import org.http4s.server.Router
import org.typelevel.log4cats.*
import org.typelevel.log4cats.noop.NoOpFactory
object Main extends IOApp.Simple:
val helloWorldService = HttpRoutes.of[IO] {
case GET -> Root / "hello" / name =>
Ok(s"Hello, $name.")
}
given LoggerFactory[IO] = NoOpFactory[IO]
val router = Router("/" -> helloWorldService).orNotFound
val server = EmberServerBuilder.default[IO].withHttpApp(router)
.withHost(ipv4"0.0.0.0")
.withPort(port"8080")
.build
override def run: IO[Unit] =
server.useForever
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment