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 )
}
تعرف على كيفية إعداد VEX واستخدامه من خلال قراءة Wiki.
GET
و POST
و PUT
و PATCH
و DELETE
و OPTION
. 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
.
معهد ماساتشوستس للتكنولوجيا