Эх сурвалжийг харах

update scoper to 1.0.12; disable gzip;serialize obj in json handler (#6621)

* update scoper to 1.0.12; disable gzip;serialize obj in json handler

* stop server properly
Bung 4 жил өмнө
parent
commit
02cecedaaf

+ 1 - 1
frameworks/Nim/scorper/scorper.dockerfile

@@ -6,7 +6,7 @@ ADD ./ /scorper
 WORKDIR /scorper
 
 RUN nimble install -d -y
-RUN nimble c -d:ChronosAsync -d:release --opt:speed -d:danger -o:scorper_bench_bin ./scorper_bench.nim
+RUN nimble c -d:ChronosAsync -d:GzipEnable=false -d:release --opt:speed -d:danger -o:scorper_bench_bin ./scorper_bench.nim
 
 EXPOSE 8080
 

+ 6 - 3
frameworks/Nim/scorper/scorper_bench.nim

@@ -1,13 +1,16 @@
 import std / [macros, exitprocs]
 import scorper
-
+import jsony
 
 type AsyncCallback = proc (request: Request): Future[void] {.closure, gcsafe,
     raises: [].}
 
+type Resp = object
+  message: string
+
 proc jsonHandler(req: Request) {.route("get", "/json"), async.} =
   let headers = {"Content-type": "application/json"}
-  await req.resp("""{"message":"Hello, World!"}""", headers.newHttpHeaders())
+  await req.resp(Resp(message: "Hello, World!").toJson(), headers.newHttpHeaders())
 
 proc plaintextHandler(req: Request) {.route("get", "/plaintext"), async.} =
   let headers = {"Content-type": "text/plain"}
@@ -21,7 +24,7 @@ when isMainModule:
   r.addRoute(jsonHandler)
   r.addRoute(plaintextHandler)
   var server = newScorper(address, r, flags)
-  exitprocs.addExitProc proc() = waitFor server.closeWait()
+  exitprocs.addExitProc proc() = server.stop();waitFor server.closeWait()
   server.start()
 
   waitFor server.join()

+ 1 - 1
frameworks/Nim/scorper/scorper_bench.nimble

@@ -12,4 +12,4 @@ backend       = "c"
 # Dependencies
 
 requires "nim >= 1.2.0"
-requires "scorper >= 1.0.6"
+requires "scorper >= 1.0.12"