JSON-related methods return JsonNodes instead of strings.

This commit is contained in:
Jonathan Bernard 2022-09-08 10:57:13 -05:00
parent f605ce6feb
commit 04bd6aa69f
5 changed files with 9 additions and 8 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
.*.sw?
nimcache/
test/runner

View File

@ -1,6 +1,6 @@
# Package
version = "0.1.1"
version = "0.2.0"
author = "Jonathan Bernard"
description = "JDB Software's opinionated extensions and auth layer for Jester."
license = "MIT"

View File

@ -29,8 +29,8 @@ template halt*(
break allRoutes
template sendJsonResp*(
code: HttpCode,
body: string = "",
body: JsonNode,
code: HttpCode = Http200,
knownOrigins: seq[string],
headersToSend: RawHeaders) =
## Immediately send a JSON response and stop processing the request.
@ -56,16 +56,16 @@ template sendJsonResp*(
"Content-Type": CONTENT_TYPE_JSON,
"Cache-Control": "no-cache"
},
body
$body
)
proc makeDataBody*(data: JsonNode): string = $(%*{"details":"","data":data })
proc makeStatusBody*(details: string): string = $(%*{"details":details})
proc makeDataBody*(data: JsonNode): JsonNode = %*{"details":"","data":data}
proc makeStatusBody*(details: string): JsonNode = %*{"details":details}
template sendErrorResp*(err: ref ApiError, knownOrigins: seq[string]): void =
log().debug err.respMsg & ( if err.msg.len > 0: ": " & err.msg else: "")
if not err.parent.isNil: log().debug " original exception: " & err.parent.msg
sendJsonResp(err.respCode, makeStatusBody(err.respMsg), knownOrigins, @{:})
sendJsonResp(makeStatusBody(err.respMsg), err.respCode, knownOrigins, @{:})
## CORS support
template sendOptionsResp*(

Binary file not shown.

View File

@ -1,3 +1,3 @@
import unittest
import ./tauth, ./tjson_util
import ./tauth, ./tjsonutils