import prologue import logging import uuids import strformat import std/asynchttpserver proc hello*(ctx: Context) {.async.} = resp "Test" # /client/listener proc listenerList*(ctx: Context) {.async.} = # JSON Response let response = %*{"message": "Ok"} resp jsonResponse(response) # /client/listener/create proc listenerCreate*(ctx: Context) {.async.} = # Handle POST parameters (Port, IP) # Create listener with random UUID let name: string = $genUUID() listenerSettings = newSettings( appName = name, debug = false, address = "127.0.0.1", port = Port(443), secretKey = name ) var listener = newApp(settings=listenerSettings) proc listenerHandler(req: NativeRequest): Future[void] {.gcsafe.} = req.respond(Http200, name) discard listener.serveAsync(listenerHandler) logging.info(fmt"Listener {name} created.") resp fmt"Listener {name} created.
Listening on {listenerSettings.address}:{listenerSettings.port}" # /client/listener/{uuid}/delete proc listenerDelete*(ctx: Context) {.async.} = resp "

Listener Deleted

" # /client/agent proc agentList*(ctx: Context) {.async.} = resp "

Agent List

" # /client/agent/build proc agentCreate*(ctx: Context) {.async.} = resp "

Agent Create

"