vex
1.0.0

module main
import nedpals.vex.router
import nedpals.vex.server
import nedpals.vex.ctx
fn print_req_info ( mut req ctx.Req, mut res ctx.Resp) {
println ( ' ${req.method} ${req.path} ' )
}
fn do_stuff ( mut req ctx.Req, mut res ctx.Resp) {
println ( 'incoming request!' )
}
fn main () {
mut app := router. new ()
app. use (do_stuff, print_req_info)
app. route (.get, '/' , fn (req & ctx.Req, mut res ctx.Resp) {
res. send_file ( 'index.html' , 200 )
})
app. route (.get, '/public/*path' , fn (req & ctx.Req, mut res ctx.Resp) {
res. send_file ( 'public/' + req.params[ 'path' ], 200 )
})
app. route (.get, '/path/:name' , fn (req & ctx.Req, mut res ctx.Resp) {
println ( 'path is ${req.params["name"]} ' )
}, fn (req & ctx.Req, mut res ctx.Resp) {
res. send ( 'path: ' + req.params[ 'name' ], 200 )
})
app. route (.get, '/complex/:name/*path' , fn (req & ctx.Req, mut res ctx.Resp) {
res. send ( 'username: ' + req.params[ 'name' ] + ' n path: ' + req.params[ 'path' ], 200 )
})
server. serve (app, 6789 )
}通过阅读 Wiki 了解如何设置和使用 VEX。
GET 、 POST 、 PUT 、 PATCH 、 DELETE和OPTION HTTP 方法。 application/x-www-form-urlencoded支持application/json支持multipart/form-data支持git checkout -b my-new-feature )git commit -am 'Add some feature' )git push origin my-new-feature )示例可以在/examples目录中找到。
麻省理工学院