summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-07-20 17:03:21 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-20 17:12:38 +0800
commit4eab92016a793eb58782baa7c865498d66f611f1 (patch)
tree750b44d3d904c8443572eb908ebd7a3cc3fcab57
parent71321497b5a07261684f3a71228071c1f436dae0 (diff)
downloadcask-4eab92016a793eb58782baa7c865498d66f611f1.tar.gz
cask-4eab92016a793eb58782baa7c865498d66f611f1.tar.bz2
cask-4eab92016a793eb58782baa7c865498d66f611f1.zip
stick with blocking mode for now
-rw-r--r--cask/src/cask/Main.scala6
-rw-r--r--cask/src/cask/Routes.scala8
-rw-r--r--cask/test/src/test/cask/CaskTest.scala17
3 files changed, 9 insertions, 22 deletions
diff --git a/cask/src/cask/Main.scala b/cask/src/cask/Main.scala
index 705ed35..2614436 100644
--- a/cask/src/cask/Main.scala
+++ b/cask/src/cask/Main.scala
@@ -1,10 +1,10 @@
package cask
import cask.Router.EntryPoint
-
import java.io.OutputStream
import java.nio.ByteBuffer
import io.undertow.Undertow
+import io.undertow.server.handlers.BlockingHandler
import io.undertow.server.{HttpHandler, HttpServerExchange}
import io.undertow.util.{Headers, HttpString}
@@ -19,7 +19,7 @@ class Main(servers: Routes*){
val server = Undertow.builder
.addHttpListener(port, host)
- .setHandler(new HttpHandler() {
+ .setHandler(new BlockingHandler(new HttpHandler() {
def handleRequest(exchange: HttpServerExchange): Unit = {
val routeOpt =
allRoutes
@@ -82,7 +82,7 @@ class Main(servers: Routes*){
}
}
- })
+ }))
.build
server.start()
}
diff --git a/cask/src/cask/Routes.scala b/cask/src/cask/Routes.scala
index a4ff770..156fdbf 100644
--- a/cask/src/cask/Routes.scala
+++ b/cask/src/cask/Routes.scala
@@ -28,10 +28,10 @@ object ParamType{
trait RouteBase{
val path: String
}
-class get(val path: String, async: Boolean = false) extends StaticAnnotation with RouteBase
-class post(val path: String, async: Boolean = false) extends StaticAnnotation with RouteBase
-class put(val path: String, async: Boolean = false) extends StaticAnnotation with RouteBase
-class route(val path: String, val methods: Seq[String], async: Boolean = false) extends StaticAnnotation with RouteBase
+class get(val path: String) extends StaticAnnotation with RouteBase
+class post(val path: String) extends StaticAnnotation with RouteBase
+class put(val path: String) extends StaticAnnotation with RouteBase
+class route(val path: String, val methods: Seq[String]) extends StaticAnnotation with RouteBase
case class Response(data: Response.Data,
statusCode: Int = 200,
diff --git a/cask/test/src/test/cask/CaskTest.scala b/cask/test/src/test/cask/CaskTest.scala
index a2e0f47..5330dce 100644
--- a/cask/test/src/test/cask/CaskTest.scala
+++ b/cask/test/src/test/cask/CaskTest.scala
@@ -1,6 +1,5 @@
package test.cask
-import io.undertow.io.Receiver.{ErrorCallback, FullBytesCallback}
import io.undertow.server.HttpServerExchange
object MyServer extends cask.Routes{
@@ -16,23 +15,11 @@ object MyServer extends cask.Routes{
@cask.get("/path/::subPath")
def showSubpath(x: HttpServerExchange, subPath: String) = {
- x.getRequestReceiver().receiveFullBytes((exchange, data) => {
-
- }: FullBytesCallback,
- (exchange, exception) => {
-
- }: ErrorCallback
- )
+ val length = x.getInputStream.readAllBytes().length
println(x)
- s"Subpath $subPath"
+ s"Subpath $subPath + $length"
}
-// @cask.post("/echo-size")
-// def echoSize(x: HttpServerExchange, subPath: String) = {
-// println(x)
-// s"Subpath $subPath"
-// }
-
initialize()
}