## Beego ======= Beego is an open source version of the scalable, non-blocking web server and tools that power SNDA's CDN system. Documentation and downloads are available at https://github.com/astaxie/beego Beego is licensed under the Apache Licence, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html). ## Installation ============ To install: go install github.com/astaxie/beego go version: go1 release ## Quick Start ============ Here is the canonical "Hello, world" example app for beego: package main import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (this *MainController) Get() { this.Ct.WriteString("hello world") } func main() { beego.BeeApp.RegisterController("/", &MainController{}) beego.BeeApp.Run() } default port:8080 http get http://localhost:8080 HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Date: Sat, 15 Dec 2012 16:03:00 GMT Transfer-Encoding: chunked hello world ## Router ============ In beego, a route is a struct paired with a URL-matching pattern. The strcut has many method with the same name of http method to server the http request. Each route is associated with a block: beego.BeeApp.RegisterController("/", &controllers.MainController{}) beego.BeeApp.RegisterController("/admin", &admin.UserController{}) beego.BeeApp.RegisterController("/admin/index", &admin.ArticleController{}) beego.BeeApp.RegisterController("/admin/addpkg", &admin.AddController{}) You can specify custom regular expressions for routes: beego.BeeApp.RegisterController("/admin/editpkg/:id([0-9]+)", &admin.EditController{}) beego.BeeApp.RegisterController("/admin/delpkg/:id([0-9]+)", &admin.DelController{}) beego.BeeApp.RegisterController("/:pkg(.*)", &controllers.MainController{}) You can also create routes for static files: beego.BeeApp.SetStaticPath("/static","/public") this will serve any files in /static, including files in subdirectories. For example request `/static/logo.gif` or `/static/style/main.css` will server with the file in the path `/pulic/logo.gif` or `/public/style/main.css` ## Filters / Middleware ============