|
|
|
@ -47,6 +47,7 @@ func `$`*(r: ApiResponse): string = $(%r)
|
|
|
|
|
proc makeCorsHeaders*(
|
|
|
|
|
allowedMethods: seq[string],
|
|
|
|
|
allowedOrigins: seq[string],
|
|
|
|
|
allowedHeaders: Option[seq[string]],
|
|
|
|
|
reqOrigin = none[string]()): HttpHeaders =
|
|
|
|
|
|
|
|
|
|
result =
|
|
|
|
@ -55,7 +56,12 @@ proc makeCorsHeaders*(
|
|
|
|
|
"Access-Control-Allow-Origin": reqOrigin.get,
|
|
|
|
|
"Access-Control-Allow-Credentials": "true",
|
|
|
|
|
"Access-Control-Allow-Methods": allowedMethods.join(","),
|
|
|
|
|
"Access-Control-Allow-Headers": "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-CSRF-TOKEN"
|
|
|
|
|
"Access-Control-Allow-Headers":
|
|
|
|
|
if allowedHeaders.isSome: allowedHeaders.get.join(",")
|
|
|
|
|
else:
|
|
|
|
|
"DNT,User-Agent,X-Requested-With,If-Modified-Since," &
|
|
|
|
|
"Cache-Control,Content-Type,Range,Authorization,X-CSRF-TOKEN," &
|
|
|
|
|
"traceparent,tracestate,X-Request-ID,X-Correlation-ID",
|
|
|
|
|
}
|
|
|
|
|
else:
|
|
|
|
|
if reqOrigin.isSome:
|
|
|
|
@ -67,8 +73,16 @@ proc makeCorsHeaders*(
|
|
|
|
|
proc makeCorsHeaders*(
|
|
|
|
|
allowedMethods: seq[HttpMethod],
|
|
|
|
|
allowedOrigins: seq[string],
|
|
|
|
|
allowedHeaders: Option[seq[string]],
|
|
|
|
|
reqOrigin = none[string]()): HttpHeaders =
|
|
|
|
|
makeCorsHeaders(allowedMethods.mapIt($it), allowedOrigins, reqOrigin )
|
|
|
|
|
makeCorsHeaders(allowedMethods.mapIt($it), allowedOrigins, allowedHeaders, reqOrigin )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
proc makeCorsHeaders*[T: HttpMethod or string](
|
|
|
|
|
allowedMethods: seq[T],
|
|
|
|
|
allowedOrigins: seq[string],
|
|
|
|
|
reqOrigin = none[string]()): HttpHeaders =
|
|
|
|
|
makeCorsHeaders(allowedMethods, allowedOrigins, none[seq[string]](), reqOrigin )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func origin*(req: Request): Option[string] =
|
|
|
|
|