Index
Modules:
src/prologue/auth/auth
,
src/prologue/core/application
,
src/prologue/core/beast/request
,
src/prologue/core/beast/server
,
src/prologue/core/configure
,
src/prologue/core/constants
,
src/prologue/core/context
,
src/prologue/core/encode
,
src/prologue/core/form
,
src/prologue/core/httpexception
,
src/prologue/core/middlewaresbase
,
src/prologue/core/naive/request
,
src/prologue/core/naive/server
,
src/prologue/core/nativesettings
,
src/prologue/core/pages
,
src/prologue/core/response
,
src/prologue/core/route
,
src/prologue/core/types
,
src/prologue/core/urandom
,
src/prologue/core/utils
,
src/prologue/i18n/i18n
,
src/prologue/middlewares/clickjacking
,
src/prologue/middlewares/cors
,
src/prologue/middlewares/csrf
,
src/prologue/middlewares/sessions/signedcookiesession
,
src/prologue/middlewares/utils
,
src/prologue/openapi/openapi
,
src/prologue/security/hasher
,
src/prologue/signing/signing
,
src/prologue/signing/signingbase
,
src/prologue/validate/basic
,
src/prologue/validate/validate
.
API symbols
`$`:
configure: `$`(env: Env): string
response: `$`(response: Response): string
types: `$`(secretKey: SecretKey): string
types: `$`(session: Session): string
`[]=`:
route: `[]=`(router: Router; path: Path; pathHandler: PathHandler)
types: `[]=`(formPart: FormPart; key: string; body: string)
types: `[]=`(session: Session; key, value: string)
`[]`:
configure: `[]`(env: Env; key: string): string
nativesettings: `[]`(settings: Settings; key: string): JsonNode
route: `[]`(router: Router; path: Path): PathHandler
types: `[]`(formPart: FormPart; key: string): tuple[params: StringTableRef, body: string]
types: `[]`(session: Session; key: string): string
abort:
response: abort(code = Http401; body = ""; headers = newHttpHeaders(); version = HttpVer11): Response
AbortError:
httpexception: AbortError
abortExit:
context: abortExit(ctx: Context; code = Http401; body = ""; headers = newHttpHeaders(); version = HttpVer11)
accepted:
validate: accepted(msg = ""): ValidateHandler
add:
route: add(reRouter: ReRouter; pairs: (RePath, PathHandler))
addHeader:
context: addHeader(request: var Request; key, value: string)
response: addHeader(response: var Response; key, value: string)
addRoute:
application: addRoute(app: Prologue; route: Regex; handler: HandlerAsync; httpMethod = HttpGet; middlewares: seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
application: addRoute(app: Prologue; route: Regex; handler: HandlerAsync; httpMethod: seq[HttpMethod]; middlewares: seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
application: addRoute(app: Prologue; patterns: seq[UrlPattern]; baseRoute = ""; settings: LocalSettings = nil)
application: addRoute(app: Prologue; route: string; handler: HandlerAsync; httpMethod: seq[HttpMethod]; name = ""; middlewares: seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
application: addRoute(app: Prologue; route: string; handler: HandlerAsync; httpMethod = HttpGet; name = ""; middlewares: seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
all:
application: all(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
appAddress:
application: appAddress(app: Prologue): string
appDebug:
application: appDebug(app: Prologue): bool
appName:
application: appName(app: Prologue): string
appPort:
application: appPort(app: Prologue): Port
AsyncEvent:
context: AsyncEvent
attachment:
context: attachment(ctx: Context; downloadName = ""; charset = "utf-8")
AuthMethod:
auth: AuthMethod
BadDataError:
signingbase: BadDataError
BadSecretKeyError:
types: BadSecretKeyError
BadSignatureError:
signingbase: BadSignatureError
BadTimeSignatureError:
signingbase: BadTimeSignatureError
base64Decode:
encode: base64Decode(s: string): string
base64Encode:
encode: base64Encode[T: SomeInteger | char](s: openArray[T]): string
encode: base64Encode(s: string): string
BaseDigestMethodType:
signing: BaseDigestMethodType
BaseDigestType:
signing: BaseDigestType
BaseType:
types: BaseType
Basic:
AuthMethod.Basic
basicAuth:
auth: basicAuth(ctx: Context; realm: string; verify: VerifyHandler; charset = "UTF-8"): tuple[ hasValue: bool, username, password: string]
basicAuthMiddleware:
auth: basicAuthMiddleware(realm: string; verifyHandler: VerifyHandler; charset = "UTF-8"): HandlerAsync
beforeApi:
utils: beforeApi(version, body: untyped)
Blake2_224Type:
BaseDigestMethodType.Blake2_224Type
Blake2_256Type:
BaseDigestMethodType.Blake2_256Type
Blake2_384Type:
BaseDigestMethodType.Blake2_384Type
Blake2_512Type:
BaseDigestMethodType.Blake2_512Type
body:
request: body(request: Request): string
request: body(request: Request): string
charset:
request: charset(request: Request): string
request: charset(request: Request): string
checkToken:
csrf: checkToken(checked, secret: string): bool
clear:
types: clear(session: Session)
clickjackingMiddleWare:
clickjacking: clickjackingMiddleWare(): HandlerAsync
close:
request: close(request: Request)
request: close(request: Request)
Concat:
KeyDerivation.Concat
connect:
application: connect(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
contains:
configure: contains(env: Env; key: string): bool
contentType:
request: contentType(request: Request): string
request: contentType(request: Request): string
Context:
context: Context
CorsMiddleware:
cors: CorsMiddleware(allowOrigins: sink seq[string] = @[]; allowOriginRegex: sink Regex = re""; allowMethods: sink seq[string] = @["get"]; allowHeaders: sink seq[string] = @[]; exposeHeaders: sink seq[string] = @[]; allowCredentials = false; maxAge = 7200; excludeEndPoint: seq[string] = @[]): HandlerAsync
csrfMiddleWare:
csrf: csrfMiddleWare(tokenName = DefaultTokenName): HandlerAsync
csrfToken:
csrf: csrfToken(ctx: Context; tokenName = DefaultTokenName): string
CtxSettings:
nativesettings: CtxSettings
debugRequestMiddleware:
utils: debugRequestMiddleware(appName = "Starlight"): HandlerAsync
debugResponseMiddleware:
utils: debugResponseMiddleware(appName = "Starlight"): HandlerAsync
default404Handler:
context: default404Handler(ctx: Context): owned(Future[void])
default500Handler:
context: default500Handler(ctx: Context): owned(Future[void])
DefaultDigestMethodType:
signing: DefaultDigestMethodType
DefaultEntropy:
urandom: DefaultEntropy
defaultHandler:
context: defaultHandler(ctx: Context): owned(Future[void])
DefaultKeyDerivation:
signing: DefaultKeyDerivation
DefaultSecretSize:
csrf: DefaultSecretSize
DefaultSep:
signing: DefaultSep
DefaultTokenName:
csrf: DefaultTokenName
DefaultTokenSize:
csrf: DefaultTokenSize
del:
types: del(session: Session; key: string)
delete:
application: delete(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
deleteCookie:
context: deleteCookie(ctx: Context; key: string; path = ""; domain = "")
response: deleteCookie(response: var Response; key: string; value = ""; path = ""; domain = "")
delPrologueEnv:
configure: delPrologueEnv(key: string; prefix: string)
Digest:
AuthMethod.Digest
doNothingClosureMiddleware:
middlewaresbase: doNothingClosureMiddleware(): HandlerAsync
dumps:
types: dumps(session: Session): string
DuplicatedReversedRouteError:
route: DuplicatedReversedRouteError
DuplicatedRouteError:
route: DuplicatedRouteError
EmptySecretKeyError:
types: EmptySecretKeyError
Env:
configure: Env
EnvError:
configure: EnvError
EnvWrongFormatError:
configure: EnvWrongFormatError
equals:
validate: equals(value: string; msg = ""): ValidateHandler
error404:
response: error404(code = Http404; body = "<h1>404 Not Found!</h1>"; headers = newHttpHeaders(); version = HttpVer11): Response
ErrorHandler:
context: ErrorHandler
ErrorHandlerTable:
context: ErrorHandlerTable
errorPage:
pages: errorPage(errorMsg: string; version: string): string
Event:
context: Event
existsPrologueEnv:
configure: existsPrologueEnv(key: string; prefix: string): bool
findHandler:
route: findHandler(ctx: Context): PathHandler
first:
context: first(ctx: Context): bool
first=:
context: first=(ctx: Context; first: bool)
FormPart:
types: FormPart
FormValidation:
validate: FormValidation
generateToken:
csrf: generateToken(ctx: Context; tokenName = DefaultTokenName): string
get:
application: get(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
configure: get(env: Env; key: string): string
getAllPrologueEnv:
configure: getAllPrologueEnv(prefix: string): OrderedTableRef[string, string]
getCookie:
request: getCookie(request: Request; key: string; default: string): string
context: getCookie(ctx: Context; key: string; default: string = ""): string
request: getCookie(request: Request; key: string; default: string = ""): string
getOrDefault:
configure: getOrDefault[T: BaseType](env: Env; key: sink string; default: T): T
nativesettings: getOrDefault(settings: Settings; key: string): JsonNode
types: getOrDefault(session: Session; key: string; default = ""): string
getPathParams:
context: getPathParams[T: BaseType](ctx: Context; key: sink string; default: T): T
context: getPathParams(ctx: Context; key: string): string
getPostParams:
context: getPostParams(ctx: Context; key: string; default = ""): string
getPrologueEnv:
configure: getPrologueEnv(key: string; prefix: string; default = ""): string
getQueryParams:
context: getQueryParams(ctx: Context; key: string; default = ""): string
getSettings:
context: getSettings(ctx: Context; key: string): JsonNode
getSignatureDecode:
signing: getSignatureDecode(s: Signer | TimedSigner): string
getSignatureEncode:
signing: getSignatureEncode(s: Signer | TimedSigner; value: openArray[byte]): string
getToken:
csrf: getToken(ctx: Context; tokenName = DefaultTokenName): string
getUploadFile:
context: getUploadFile(ctx: Context; name: string): UploadFile
GlobalScope:
context: GlobalScope
gScope:
context: gScope(ctx: Context): lent GlobalScope
handle:
context: handle(ctx: Context): Future[void]
HandlerAsync:
context: HandlerAsync
hash:
route: hash(x: Path): Hash
hasHeader:
context: hasHeader(request: var Request; key: string): bool
response: hasHeader(response: Response; key: string): bool
hasKey:
configure: hasKey(env: Env; key: string): bool
nativesettings: hasKey(settings: Settings; key: string): bool
route: hasKey(router: Router; path: Path): bool
head:
application: head(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
headers:
request: headers(request: Request): HttpHeaders
request: headers(request: Request): HttpHeaders
hostName:
request: hostName(request: Request): string
request: hostName(request: Request): string
htmlResponse:
response: htmlResponse(text: string; code = Http200; headers = newHttpHeaders(); version = HttpVer11): Response
HttpError:
httpexception: HttpError
httpRedirectMiddleWare:
utils: httpRedirectMiddleWare(): HandlerAsync
incSize:
context: incSize(ctx: Context; num = 1)
Info:
validate: Info
initEnv:
configure: initEnv(): Env
initEvent:
context: initEvent(handler: AsyncEvent): Event
context: initEvent(handler: SyncEvent): Event
initFormPart:
types: initFormPart(): FormPart
initPath:
route: initPath(route: string; httpMethod = HttpGet): Path
initRePath:
route: initRePath(route: Regex; httpMethod = HttpGet): RePath
initRequest:
request: initRequest(nativeRequest: NativeRequest; cookies = initCookieJar(); pathParams = newStringTable(modeCaseSensitive); queryParams = newStringTable(modeCaseSensitive); postParams = newStringTable(modeCaseSensitive)): Request
request: initRequest(nativeRequest: NativeRequest; cookies = initCookieJar(); pathParams = newStringTable(modeCaseSensitive); queryParams = newStringTable(modeCaseSensitive); postParams = newStringTable(modeCaseSensitive)): Request
initResponse:
response: initResponse(httpVersion: HttpVersion; code: HttpCode; headers = [ ("Content-Type", "text/html; charset=UTF-8")].newHttpHeaders; body = ""): Response
initSession:
types: initSession(data: StringTableRef; newCreated = false; modified = false; accessed = false): Session
initSigner:
signing: initSigner(secretKey: SecretKey; salt = DefaultSalt; sep = DefaultSep; keyDerivation = DefaultKeyDerivation; digestMethod = DefaultDigestMethodType): Signer
initTimedSigner:
signing: initTimedSigner(secretKey: SecretKey; salt = DefaultSalt; sep = DefaultSep; keyDerivation = DefaultKeyDerivation; digestMethod = DefaultDigestMethodType): TimedSigner
initUploadFile:
context: initUploadFile(filename, body: string): UploadFile
internalServerErrorPage:
pages: internalServerErrorPage(): string
isBool:
basic: isBool(value: string): bool
validate: isBool(msg = ""): ValidateHandler
isInt:
basic: isInt(value: string): bool
validate: isInt(msg = ""): ValidateHandler
isNumeric:
basic: isNumeric(value: string): bool
validate: isNumeric(msg = ""): ValidateHandler
isStaticFile:
utils: isStaticFile(path: string; dirs: openArray[string]): tuple[hasValue: bool, filename, dir: string]
items:
route: items(reRouter: ReRouter): (RePath, PathHandler)
jsonResponse:
response: jsonResponse(text: JsonNode; code = Http200; headers = newHttpHeaders(); version = HttpVer11): Response
Keccak224Type:
BaseDigestMethodType.Keccak224Type
Keccak256Type:
BaseDigestMethodType.Keccak256Type
Keccak384Type:
BaseDigestMethodType.Keccak384Type
Keccak512Type:
BaseDigestMethodType.Keccak512Type
KeyDerivation:
signing: KeyDerivation
KeyHmac:
KeyDerivation.KeyHmac
keys:
configure: keys(env: Env): string
len:
types: len(secretKey: SecretKey): int
types: len(session: Session): int
loadPrologueEnv:
configure: loadPrologueEnv(filename: string): Env
loads:
types: loads(session: Session; s: string)
loadTranslate:
i18n: loadTranslate(app: Prologue; filename: string)
i18n: loadTranslate(stream: Stream; filename = "[stream]"): TableRef[string, StringTableRef]
i18n: loadTranslate(filename: string): TableRef[string, StringTableRef]
LocalSettings:
nativesettings: LocalSettings
loggingMiddleware:
utils: loggingMiddleware(appName = "Starlight"): HandlerAsync
loginPage:
pages: loginPage(): string
matchRegex:
validate: matchRegex(value: Regex; msg = ""): ValidateHandler
matchUrl:
validate: matchUrl(msg = ""): ValidateHandler
maxLength:
validate: maxLength(max: Natural; msg = ""): ValidateHandler
maxValue:
validate: maxValue(max: float; msg = ""): ValidateHandler
minLength:
validate: minLength(min: Natural; msg = ""): ValidateHandler
minValue:
validate: minValue(min: float; msg = ""): ValidateHandler
MoreConcat:
KeyDerivation.MoreConcat
multiMatch:
context: multiMatch(s: string; replacements: StringTableRef): string
context: multiMatch(s: string; replacements: varargs[(string, string)]): string
multiPartPage:
pages: multiPartPage(): string
NativeRequest:
request: NativeRequest
request: NativeRequest
newApp:
application: newApp(settings: Settings; middlewares: sink seq[HandlerAsync] = @[]; startup: sink seq[Event] = @[]; shutdown: sink seq[Event] = @[]; errorHandlerTable = DefaultErrorHandler; appData = newStringTable(mode = modeCaseSensitive)): Prologue
newContext:
context: newContext(request: Request; response: Response; gScope: GlobalScope): Context
newCtxSettings:
nativesettings: newCtxSettings(): CtxSettings
newErrorHandlerTable:
context: newErrorHandlerTable(initialSize = defaultInitialSize): ErrorHandlerTable
context: newErrorHandlerTable(pairs: openArray[(HttpCode, ErrorHandler)]): ErrorHandlerTable
newFormValidation:
validate: newFormValidation(validator: openArray[(string, seq[ValidateHandler])]): FormValidation
newLocalSettings:
nativesettings: newLocalSettings(data: JsonNode): LocalSettings
nativesettings: newLocalSettings(configPath: string): LocalSettings
newPathHandler:
route: newPathHandler(handler: HandlerAsync; middlewares: sink seq[HandlerAsync] = @[]; settings: Settings = nil): PathHandler
newPrologue:
server: newPrologue(settings: Settings; ctxSettings: CtxSettings; router: Router; reversedRouter: ReversedRouter; reRouter: ReRouter; middlewares: seq[HandlerAsync]; startup: seq[Event]; shutdown: seq[Event]; errorHandlerTable: ErrorHandlerTable; appData: StringTableRef): Prologue
server: newPrologue(settings: Settings; ctxSettings: CtxSettings; router: Router; reversedRouter: ReversedRouter; reRouter: ReRouter; middlewares: seq[HandlerAsync]; startup: seq[Event]; shutdown: seq[Event]; errorHandlerTable: ErrorHandlerTable; appData: StringTableRef): Prologue
newPrologueServer:
server: newPrologueServer(reuseAddr = true; reusePort = false; maxBody = 8388608): Server
newReRouter:
route: newReRouter(): ReRouter
newReversedRouter:
context: newReversedRouter(): ReversedRouter
newRouter:
route: newRouter(): Router
newSettings:
application: newSettings(settings: Settings; localSettings: LocalSettings): Settings
nativesettings: newSettings(data: JsonNode; address = ""; port = Port(8080); debug = true; reusePort = true; staticDirs: openArray[string] = ["static"]; appName = ""): Settings
nativesettings: newSettings(address = ""; port = Port(8080); debug = true; reusePort = true; staticDirs: openArray[string] = ["static"]; secretKey = randomString(8); appName = ""): Settings
nativesettings: newSettings(configPath: string; address = ""; port = Port(8080); debug = true; reusePort = true; staticDirs: openArray[string] = ["static"]; appName = ""): Settings
None:
KeyDerivation.None
openapiHandler:
openapi: openapiHandler(ctx: Context): owned(Future[void])
options:
application: options(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
pairs:
configure: pairs(env: Env): (string, string)
route: pairs(router: Router): (Path, PathHandler)
parseFormParams:
form: parseFormParams(request: var Request; contentType: string)
parseFormPart:
form: parseFormPart(body, contentType: string): FormPart
parseStringTable:
types: parseStringTable(s: string): StringTableRef
types: parseStringTable(tabs: StringTableRef; s: string)
parseValue:
types: parseValue[T: BaseType](value: string; default: T): T
patch:
application: patch(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
path:
request: path(request: Request): string
Path:
context: Path
path:
request: path(request: Request): string
PathHandler:
context: PathHandler
pattern:
route: pattern(route: string; handler: HandlerAsync; httpMethod: sink seq[HttpMethod]; name = ""; middlewares: sink seq[HandlerAsync] = @[]): UrlPattern
route: pattern(route: string; handler: HandlerAsync; httpMethod = HttpGet; name = ""; middlewares: sink seq[HandlerAsync] = @[]): UrlPattern
pbkdf2_sha1encode:
hasher: pbkdf2_sha1encode(password: SecretKey; salt: string; iterations = 24400): string
pbkdf2_sha1verify:
hasher: pbkdf2_sha1verify(password: SecretKey; encoded: string): bool
pbkdf2_sha256encode:
hasher: pbkdf2_sha256encode(password: SecretKey; salt: string; iterations = 24400): string
pbkdf2_sha256verify:
hasher: pbkdf2_sha256verify(password: SecretKey; encoded: string): bool
plainTextResponse:
response: plainTextResponse(text: string; code = Http200; headers = newHttpHeaders(); version = HttpVer11): Response
port:
request: port(request: Request): string
request: port(request: Request): string
post:
application: post(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
printRoute:
application: printRoute(app: Prologue)
Prologue:
server: Prologue
server: Prologue
PrologueError:
route: PrologueError
ProloguePrefix:
constants: ProloguePrefix
PrologueVersion:
constants: PrologueVersion
put:
application: put(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
putPrologueEnv:
configure: putPrologueEnv(key, val: string; prefix: string)
query:
request: query(request: Request): string
request: query(request: Request): string
randomBytesSeq:
urandom: randomBytesSeq(size = DefaultEntropy): seq[byte]
randomSecretKey:
urandom: randomSecretKey(size = DefaultEntropy): SecretKey
randomString:
urandom: randomString(size = DefaultEntropy): string
rangeLength:
validate: rangeLength(min, max: Natural; msg = ""): ValidateHandler
rangeValue:
validate: rangeValue(min, max: float; msg = ""): ValidateHandler
redirect:
response: redirect(url: string; code = Http301; body = ""; delay = 0; headers = newHttpHeaders(); version = HttpVer11): Response
redocs:
openapi: redocs
redocsHandler:
openapi: redocsHandler(ctx: Context): owned(Future[void])
registerErrorHandler:
application: registerErrorHandler(app: Prologue; code: HttpCode; handler: ErrorHandler)
application: registerErrorHandler(app: Prologue; code: openArray[HttpCode]; handler: ErrorHandler)
application: registerErrorHandler(app: Prologue; code: set[HttpCode]; handler: ErrorHandler)
RePath:
context: RePath
reqMethod:
request: reqMethod(request: Request): HttpMethod
request: reqMethod(request: Request): HttpMethod
Request:
request: Request
request: Request
required:
validate: required(msg = ""): ValidateHandler
ReRouter:
context: ReRouter
resp:
response: resp(response: Response)
response: resp(body: string; code = Http200)
respond:
request: respond(request: Request; code: HttpCode; body: string; headers: HttpHeaders = newHttpHeaders()): Future[void]
request: respond(request: Request; response: Response): Future[void]
context: respond(ctx: Context; code: HttpCode; body: string; headers: HttpHeaders = newHttpHeaders()): Future[void]
request: respond(request: Request; code: HttpCode; body: string; headers: HttpHeaders = newHttpHeaders()): Future[void]
request: respond(request: Request; response: Response): Future[void]
Response:
response: Response
ReversedRouter:
context: ReversedRouter
Ripemd128Type:
BaseDigestMethodType.Ripemd128Type
Ripemd160Type:
BaseDigestMethodType.Ripemd160Type
Ripemd256Type:
BaseDigestMethodType.Ripemd256Type
Ripemd320Type:
BaseDigestMethodType.Ripemd320Type
RouteError:
route: RouteError
Router:
context: Router
RouteResetError:
route: RouteResetError
run:
application: run(app: Prologue)
save:
context: save(uploadFile: UploadFile; dir: string; filename = "")
scheme:
request: scheme(request: Request): string
request: scheme(request: Request): string
SecretKey:
types: SecretKey
SecretUrl:
types: SecretUrl
secure:
request: secure(request: Request): bool
request: secure(request: Request): bool
send:
request: send(request: Request; content: string): Future[void]
context: send(ctx: Context; content: string): Future[void]
request: send(request: Request; content: string): Future[void]
serve:
server: serve(app: Prologue; port: Port; callback: proc (request: NativeRequest): Future[void] {.closure, gcsafe.}; address = ""; numThreads = 0)
server: serve(app: Prologue; port: Port; callback: proc (request: NativeRequest): Future[void] {.closure, gcsafe.}; address = "")
serveDocs:
openapi: serveDocs(app: Prologue; source: string; onlyDebug = false)
Server:
server: Server
Session:
types: Session
sessionMiddleware:
signedcookiesession: sessionMiddleware(secretKey: SecretKey; sessionName: string = "session"; salt = "prologue.signedcookiesession"; sep = DefaultSep; keyDerivation = DefaultKeyDerivation; digestMethodType = DefaultDigestMethodType; maxAge: int = 20160 * 60; path = ""; domain = ""; sameSite = Lax; httpOnly = false): HandlerAsync
setCookie:
context: setCookie(ctx: Context; key, value: string; expires: DateTime | Time; maxAge: Option[int] = none(int); domain = ""; path = ""; secure = false; httpOnly = false; sameSite = Lax)
context: setCookie(ctx: Context; key, value: string; expires = ""; maxAge: Option[int] = none(int); domain = ""; path = ""; secure = false; httpOnly = false; sameSite = Lax)
response: setCookie(response: var Response; key, value: string; expires: DateTime | Time; maxAge: Option[int] = none(int); domain = ""; path = ""; secure = false; httpOnly = false; sameSite = Lax)
response: setCookie(response: var Response; key, value: string; expires = ""; maxAge: Option[int] = none(int); domain = ""; path = ""; secure = false; httpOnly = false; sameSite = Lax)
setHeader:
context: setHeader(request: var Request; key: string; value: sink seq[string])
context: setHeader(request: var Request; key, value: string)
response: setHeader(response: var Response; key: string; value: sink seq[string])
response: setHeader(response: var Response; key, value: string)
setLanguage:
i18n: setLanguage(ctx: Context; language: string): Translator
setPrologueEnv:
configure: setPrologueEnv(env: Env; key, value: string)
setResponse:
context: setResponse(ctx: Context; code: HttpCode; httpHeaders = [ ("Content-Type", "text/html; charset=UTF-8")].newHttpHeaders; body = ""; version = HttpVer11)
context: setResponse(ctx: Context; response: Response)
setScheme:
request: setScheme(request: var Request; value: string)
request: setScheme(request: var Request; value: string)
Settings:
nativesettings: Settings
setToken:
csrf: setToken(ctx: Context; value: string; tokenName = DefaultTokenName)
Sha1Type:
BaseDigestMethodType.Sha1Type
Sha224Type:
BaseDigestMethodType.Sha224Type
Sha3_224Type:
BaseDigestMethodType.Sha3_224Type
Sha3_256Type:
BaseDigestMethodType.Sha3_256Type
Sha3_384Type:
BaseDigestMethodType.Sha3_384Type
Sha3_512Type:
BaseDigestMethodType.Sha3_512Type
Sha384Type:
BaseDigestMethodType.Sha384Type
Sha512_224Type:
BaseDigestMethodType.Sha512_224Type
Sha512_256Type:
BaseDigestMethodType.Sha512_256Type
Sha512Type:
BaseDigestMethodType.Sha512Type
sign:
signing: sign(s: Signer; value: string): string
signing: sign(s: TimedSigner; value: string): string
SignatureExpiredError:
signingbase: SignatureExpiredError
Signer:
signing: Signer
since:
utils: since(version, body: untyped)
sinceApi:
utils: sinceApi(version, body: untyped)
size:
context: size(ctx: Context): int
staticFileResponse:
context: staticFileResponse(ctx: Context; filename, dir: string; mimetype = ""; downloadName = ""; charset = "utf-8"; headers = newHttpHeaders()): owned( Future[void])
stripPath:
request: stripPath(request: var Request)
request: stripPath(request: var Request)
stripPathMiddleware:
utils: stripPathMiddleware(appName = "Starlight"): HandlerAsync
stripRoute:
route: stripRoute(route: string): string
swaggerDocs:
openapi: swaggerDocs
swaggerHandler:
openapi: swaggerHandler(ctx: Context): owned(Future[void])
switch:
middlewaresbase: switch(ctx: Context): owned(Future[void])
SyncEvent:
context: SyncEvent
testMiddleware:
utils: testMiddleware(): HandlerAsync
TimedSigner:
signing: TimedSigner
Tr:
i18n: Tr(ctx: Context; text: string; language: string): string
i18n: Tr(t: Translator; text: string): string
trace:
application: trace(app: Prologue; route: string; handler: HandlerAsync; name = ""; middlewares: sink seq[HandlerAsync] = @[]; settings: LocalSettings = nil)
translate:
i18n: translate(ctx: Context; text: string; language: string): string
i18n: translate(t: Translator; text: string): string
Translator:
i18n: Translator
unauthenticate:
auth: unauthenticate(ctx: Context; authMethod: AuthMethod; realm: string; charset = "UTF-8")
unsign:
signing: unsign(s: Signer | TimedSigner; signedValue: string): string
signing: unsign(s: TimedSigner; signedValue: string; max_age: Natural): string
update:
types: update(session: Session)
UploadFile:
context: UploadFile
url:
request: url(request: Request): Uri
request: url(request: Request): Uri
urlFor:
context: urlFor(ctx: Context; handler: string; parameters: openArray[(string, string)] = @[]; queryParams: openArray[(string, string)] = @[]; usePlus = true; omitEq = true): string
UrlPattern:
route: UrlPattern
urlsafeBase64Decode:
encode: urlsafeBase64Decode(s: string): string
urlsafeBase64Encode:
encode: urlsafeBase64Encode[T: SomeInteger | char](s: openArray[T]): string
encode: urlsafeBase64Encode(s: string): string
validate:
signing: validate(s: Signer; signedValue: string): bool
validate: validate(formValidation: FormValidation; textTable: StringTableRef; allMsgs = true): Info
ValidateHandler:
validate: ValidateHandler
values:
configure: values(env: Env): string
VerifyHandler:
auth: VerifyHandler
writePrologueEnv:
configure: writePrologueEnv(filename: string; env: Env)