This compiles:
    
    
    import tables, asynchttpserver
    
    type Server* = object
        port: int
        routes: Table[string, Table[string, proc(request: Request) {.cdecl.}]]
        allowedMethods: seq[string]
    proc newServer*: Server =
        result.port = 8080
        result.allowedMethods = @["GET", "POST"]
        result.routes = initTable[string, Table[string, proc(request: Request) 
{.cdecl.}]]()
    proc addRoute*(self: var Server, httpMethod, route: string, handler: 
proc(request: Request) {.cdecl.}) =
            if self.routes.hasKey(httpMethod):
                self.routes[httpMethod][route] = handler # Error here before 
[route]
            else:
                self.routes[httpMethod] = {route: handler}.toTable
    
    
    Run

You might want to look into "jester" though.

Reply via email to