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
目錄中找到。
麻省理工學院