route = require("resty.route").new! -- flag = last: true, break: false route\get "=/posts/index.html", => -- ngx.req.set_uri("/posts/index.html", false) ngx.exec("/posts/index.html") route\get "=/posts/", => -- ngx.req.set_uri("/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html", false) -- ngx.exec("/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html") -- ngx.say("resty-route " .. ngx.var.uri) -- ngx.req.set_uri(ngx.var.uri, false) -- @render "somecontent", @context ngx.req.set_uri("/posts/index.html", false) -- ngx.req.set_uri("/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html", true) -- ngx.say ngx.var.uri -- ngx.exec("/about.html") -- ngx.exec("/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html") -- route\get "#/posts/([%w%-%_]+)[.](%w+)", (file, ext) => -- ngx.req.set_uri("/posts") -- ngx.say ngx.var.uri -- ngx.exec "/posts/#{file}.#{ext}" -- ngx.req.set_uri("/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html") -- route\get "#/posts/([%w%-%_]+)", (id) => -- ngx.say "

hello

" -- route\get "#/posts/(%w+)", (id) => -- ngx.say file -- ngx.exec "/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html" -- route\get "=/posts", => -- route\get "#/posts/([%w%-%_]+)", (id) => -- ngx.exec "/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html" -- ngx.req.set_uri("/posts") -- ngx.exec "/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html" -- router\to "/about.html", "get" -- require("moon").p route -- { one: "two" } -- ngx.say [k .. v for k, v in pairs { one: "two" }] -- keys = [k .. "\n" for k,v in pairs @] -- keys = [k .. "\n" for k,v in pairs @] -- ngx.log(ngx.ERR, @) -- ngx.say [k .. v for k, v in pairs route] -- ngx.say type(route) -- uri = "/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html" -- ngx.req.set_uri("/about.html") -- ngx.say "

/posts

" -- @to "/", "get" route