Getting Started
In order to start add into your sbt dependencies the followings:
libraryDependencies += "com.github.acsgh.mad.scala.server.provider" %% "jetty" % "1.0.0"
The initial hello word examples goes as:
import acsgh.mad.scala.server.provider.jetty.JettyServerBuilder
import acsgh.mad.scala.server.{Controller, ServerBuilder}
import acsgh.mad.scala.server.router.http.body.writer.default._
object HelloWorld extends Controller with App {
val builder: ServerBuilder = new JettyServerBuilder
get("/") { implicit ctx =>
responseBody("Hello world!")
}
builder.build().start()
}
import acsgh.mad.scala.server.provider.jetty.JettyServerApp
import acsgh.mad.scala.server.router.http.listener.LoggingEventListener
import acsgh.mad.scala.server.router.ws.listener.WSLoggingEventListener
import acsgh.mad.scala.server.{Controller, Server, ServerBuilder}
import acsgh.mad.scala.server.router.http.body.writer.default._
object HelloWorld extends JettyServerApp {
override val name: String = "Hello World Example"
override protected def buildServer(builder: ServerBuilder): Server = {
builder.http.addRequestListeners(LoggingEventListener)
builder.ws.addRequestListeners(WSLoggingEventListener)
HelloWorldRoutes(builder)
builder.build()
}
}
case class HelloWorldRoutes(builder: ServerBuilder) extends Controller {
get("/") { implicit ctx =>
responseBody("Hello world!")
}
}
If you go to http://localhost:6080/ you will see the server running
You have more completed examples in: here