feat: adding simplest cask routes

This commit is contained in:
efim 2023-06-25 14:49:55 +00:00
parent 44cc9209b4
commit d44a6a545d
3 changed files with 25 additions and 18 deletions

View File

@ -0,0 +1,2 @@
version = "3.7.3"
runner.dialect = scala3

View File

@ -8,3 +8,17 @@
this should be on the very top of the file, otherwise it's not visible to scala-cli
that was my error for a while - having package declaration on top
** replicating simplest cask example
https://github.com/com-lihaoyi/cask/blob/master/example/minimalApplication/app/src/MinimalApplication.scala
*** and it works!
opening localhost:8080 shows "Hello world!"
and opening Network tab, refreshing to see get request,
and doing "Edit and Resend" to issue Post to /do-thing with some text in body
returns the result with test reversed.
this is really nice.
** what i'd really like though is browser refresh.
i suppose that can be added to emacs? also on file save :shrug: somehow
** for the future - more details on things of cask
https://com-lihaoyi.github.io/cask/index.html#minimal-example

View File

@ -6,26 +6,17 @@
// import munit.FunSuite
package app
object Main {
def main(args: Array[String]) = {
final case class Thingy(a: String, b: Int, c: List[Double])
val th = Thingy("hello", 1234, List(1D, 1.523, 1234.1234))
pprint.pprintln(th)
println(th)
object Main extends cask.MainRoutes {
@cask.get("/")
def hello() = {
"Hello world!"
}
// object MinimalExample extends cask.MainRoutes {
// @cask.get("/")
// def hello() = {
// "Hello world!"
// }
@cask.post("/do-thing")
def doThing(request: cask.Request) = {
request.text().reverse
}
// @cask.post("/do-thing")
// def doThing(request: cask.Request) = {
// request.text().reverse
// }
// initialize()
// }
initialize()
}