The Siny web server is written by Scala.
#Install
libraryDependencies ++= {
Seq(
"org.siny.web" % "siny_2.11" % "1.0"
)
}
#Configuration
config file default is application.conf
.
##Configure web root
www {
root = "www/public/coolmarks/"
}
##Configure IP port
http {
interface = "0.0.0.0"
port = 9000
}
#App Core
app class need to extend Siny
, and override
registerPath
to bind
path
with method.
##Extend App
object App extends Siny {
def main(args: Array[String]): Unit = {
this.initialize()
}
override def registerPath(): Unit = {
registerHandler("POST", "/register.html", registerUser)
registerHandler("POST", "/login.html", userLogin)
registerHandler("GET", "/user.html", userInfo)
registerHandler("GET", "/bookmark", BookMarkController.getBookMarks)
registerHandler("POST", "/bookmark", BookMarkController.postBookMark)
registerHandler("DELETE", "/bookmark", BookMarkController.deleteBookMark)
registerHandler("POST", "/tab", TabController.postBookMark)
}
}
##Define Action
Action
extends from RestAction
, for the register method, it needs to have HttpSession
parameter
and return
HttpResponse
parameter
Example:
object UserController extends RestAction{
def registerUser(httpSession: HttpSession): HttpResponse = {
HttpResponse(register(httpSession.user), OK)
}
}