mirror of
https://github.com/astaxie/beego.git
synced 2024-11-25 20:51:29 +00:00
add comments for middleware packages, fix typo error
This commit is contained in:
parent
91d75e8925
commit
32799bc259
2
beego.go
2
beego.go
@ -221,7 +221,7 @@ func Run() {
|
|||||||
|
|
||||||
middleware.VERSION = VERSION
|
middleware.VERSION = VERSION
|
||||||
middleware.AppName = AppName
|
middleware.AppName = AppName
|
||||||
middleware.RegisterErrorHander()
|
middleware.RegisterErrorHandler()
|
||||||
|
|
||||||
if EnableAdmin {
|
if EnableAdmin {
|
||||||
go BeeAdminApp.Run()
|
go BeeAdminApp.Run()
|
||||||
|
@ -61,6 +61,7 @@ var tpl = `
|
|||||||
</html>
|
</html>
|
||||||
`
|
`
|
||||||
|
|
||||||
|
// render default application error page with error and stack string.
|
||||||
func ShowErr(err interface{}, rw http.ResponseWriter, r *http.Request, Stack string) {
|
func ShowErr(err interface{}, rw http.ResponseWriter, r *http.Request, Stack string) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(tpl)
|
t, _ := template.New("beegoerrortemp").Parse(tpl)
|
||||||
data := make(map[string]string)
|
data := make(map[string]string)
|
||||||
@ -175,13 +176,14 @@ var errtpl = `
|
|||||||
</html>
|
</html>
|
||||||
`
|
`
|
||||||
|
|
||||||
|
// map of http handlers for each error string.
|
||||||
var ErrorMaps map[string]http.HandlerFunc
|
var ErrorMaps map[string]http.HandlerFunc
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
ErrorMaps = make(map[string]http.HandlerFunc)
|
ErrorMaps = make(map[string]http.HandlerFunc)
|
||||||
}
|
}
|
||||||
|
|
||||||
//404
|
// show 404 notfound error.
|
||||||
func NotFound(rw http.ResponseWriter, r *http.Request) {
|
func NotFound(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := make(map[string]interface{})
|
||||||
@ -199,7 +201,7 @@ func NotFound(rw http.ResponseWriter, r *http.Request) {
|
|||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
//401
|
// show 401 unauthorized error.
|
||||||
func Unauthorized(rw http.ResponseWriter, r *http.Request) {
|
func Unauthorized(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := make(map[string]interface{})
|
||||||
@ -215,7 +217,7 @@ func Unauthorized(rw http.ResponseWriter, r *http.Request) {
|
|||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
//403
|
// show 403 forbidden error.
|
||||||
func Forbidden(rw http.ResponseWriter, r *http.Request) {
|
func Forbidden(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := make(map[string]interface{})
|
||||||
@ -232,7 +234,7 @@ func Forbidden(rw http.ResponseWriter, r *http.Request) {
|
|||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
//503
|
// show 503 service unavailable error.
|
||||||
func ServiceUnavailable(rw http.ResponseWriter, r *http.Request) {
|
func ServiceUnavailable(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := make(map[string]interface{})
|
||||||
@ -248,7 +250,7 @@ func ServiceUnavailable(rw http.ResponseWriter, r *http.Request) {
|
|||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
//500
|
// show 500 internal server error.
|
||||||
func InternalServerError(rw http.ResponseWriter, r *http.Request) {
|
func InternalServerError(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := make(map[string]interface{})
|
||||||
@ -262,15 +264,18 @@ func InternalServerError(rw http.ResponseWriter, r *http.Request) {
|
|||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// show 500 internal error with simple text string.
|
||||||
func SimpleServerError(rw http.ResponseWriter, r *http.Request) {
|
func SimpleServerError(rw http.ResponseWriter, r *http.Request) {
|
||||||
http.Error(rw, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
http.Error(rw, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add http handler for given error string.
|
||||||
func Errorhandler(err string, h http.HandlerFunc) {
|
func Errorhandler(err string, h http.HandlerFunc) {
|
||||||
ErrorMaps[err] = h
|
ErrorMaps[err] = h
|
||||||
}
|
}
|
||||||
|
|
||||||
func RegisterErrorHander() {
|
// register default error http handlers, 404,401,403,500 and 503.
|
||||||
|
func RegisterErrorHandler() {
|
||||||
if _, ok := ErrorMaps["404"]; !ok {
|
if _, ok := ErrorMaps["404"]; !ok {
|
||||||
ErrorMaps["404"] = NotFound
|
ErrorMaps["404"] = NotFound
|
||||||
}
|
}
|
||||||
@ -292,6 +297,8 @@ func RegisterErrorHander() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// show error string as simple text message.
|
||||||
|
// if error string is empty, show 500 error as default.
|
||||||
func Exception(errcode string, w http.ResponseWriter, r *http.Request, msg string) {
|
func Exception(errcode string, w http.ResponseWriter, r *http.Request, msg string) {
|
||||||
if h, ok := ErrorMaps[errcode]; ok {
|
if h, ok := ErrorMaps[errcode]; ok {
|
||||||
isint, err := strconv.Atoi(errcode)
|
isint, err := strconv.Atoi(errcode)
|
||||||
|
@ -2,16 +2,19 @@ package middleware
|
|||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
|
|
||||||
|
// http exceptions
|
||||||
type HTTPException struct {
|
type HTTPException struct {
|
||||||
StatusCode int // http status code 4xx, 5xx
|
StatusCode int // http status code 4xx, 5xx
|
||||||
Description string
|
Description string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// return http exception error string, e.g. "400 Bad Request".
|
||||||
func (e *HTTPException) Error() string {
|
func (e *HTTPException) Error() string {
|
||||||
// return `status description`, e.g. `400 Bad Request`
|
|
||||||
return fmt.Sprintf("%d %s", e.StatusCode, e.Description)
|
return fmt.Sprintf("%d %s", e.StatusCode, e.Description)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// map of http exceptions for each http status code int.
|
||||||
|
// defined 400,401,403,404,405,500,502,503 and 504 default.
|
||||||
var HTTPExceptionMaps map[int]HTTPException
|
var HTTPExceptionMaps map[int]HTTPException
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
Loading…
Reference in New Issue
Block a user