mirror of
https://github.com/astaxie/beego.git
synced 2024-11-25 19:00:55 +00:00
Merge pull request #1506 from fuxiaohei/develop
clean code in docs.go, error.go, filter.go and hooks.go
This commit is contained in:
commit
5336e83469
10
docs.go
10
docs.go
@ -15,8 +15,6 @@
|
|||||||
package beego
|
package beego
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
|
|
||||||
"github.com/astaxie/beego/context"
|
"github.com/astaxie/beego/context"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -33,14 +31,8 @@ func serverDocs(ctx *context.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if obj != nil {
|
if obj != nil {
|
||||||
bt, err := json.Marshal(obj)
|
|
||||||
if err != nil {
|
|
||||||
ctx.Output.SetStatus(504)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
ctx.Output.Header("Content-Type", "application/json;charset=UTF-8")
|
|
||||||
ctx.Output.Header("Access-Control-Allow-Origin", "*")
|
ctx.Output.Header("Access-Control-Allow-Origin", "*")
|
||||||
ctx.Output.Body(bt)
|
ctx.Output.JSON(obj, false, false)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.Output.SetStatus(404)
|
ctx.Output.SetStatus(404)
|
||||||
|
112
error.go
112
error.go
@ -82,16 +82,17 @@ var tpl = `
|
|||||||
`
|
`
|
||||||
|
|
||||||
// render default application error page with error and stack string.
|
// render default application error page with error and stack string.
|
||||||
func showErr(err interface{}, ctx *context.Context, Stack string) {
|
func showErr(err interface{}, ctx *context.Context, stack string) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(tpl)
|
t, _ := template.New("beegoerrortemp").Parse(tpl)
|
||||||
data := make(map[string]string)
|
data := map[string]string{
|
||||||
data["AppError"] = BConfig.AppName + ":" + fmt.Sprint(err)
|
"AppError": fmt.Sprintf("%s:%v", BConfig.AppName, err),
|
||||||
data["RequestMethod"] = ctx.Input.Method()
|
"RequestMethod": ctx.Input.Method(),
|
||||||
data["RequestURL"] = ctx.Input.URI()
|
"RequestURL": ctx.Input.URI(),
|
||||||
data["RemoteAddr"] = ctx.Input.IP()
|
"RemoteAddr": ctx.Input.IP(),
|
||||||
data["Stack"] = Stack
|
"Stack": stack,
|
||||||
data["BeegoVersion"] = VERSION
|
"BeegoVersion": VERSION,
|
||||||
data["GoVersion"] = runtime.Version()
|
"GoVersion": runtime.Version(),
|
||||||
|
}
|
||||||
ctx.ResponseWriter.WriteHeader(500)
|
ctx.ResponseWriter.WriteHeader(500)
|
||||||
t.Execute(ctx.ResponseWriter, data)
|
t.Execute(ctx.ResponseWriter, data)
|
||||||
}
|
}
|
||||||
@ -210,38 +211,42 @@ var ErrorMaps = make(map[string]*errorInfo, 10)
|
|||||||
// show 401 unauthorized error.
|
// 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 := map[string]interface{}{
|
||||||
data["Title"] = "Unauthorized"
|
"Title": http.StatusText(401),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested can't be authorized." +
|
data["Content"] = template.HTML("<br>The page you have requested can't be authorized." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br>The credentials you supplied are incorrect" +
|
"<br>The credentials you supplied are incorrect" +
|
||||||
"<br>There are errors in the website address" +
|
"<br>There are errors in the website address" +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 402 Payment Required
|
// show 402 Payment Required
|
||||||
func paymentRequired(rw http.ResponseWriter, r *http.Request) {
|
func paymentRequired(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := map[string]interface{}{
|
||||||
data["Title"] = "Payment Required"
|
"Title": http.StatusText(402),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested Payment Required." +
|
data["Content"] = template.HTML("<br>The page you have requested Payment Required." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br>The credentials you supplied are incorrect" +
|
"<br>The credentials you supplied are incorrect" +
|
||||||
"<br>There are errors in the website address" +
|
"<br>There are errors in the website address" +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 403 forbidden error.
|
// 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 := map[string]interface{}{
|
||||||
data["Title"] = "Forbidden"
|
"Title": http.StatusText(403),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested is forbidden." +
|
data["Content"] = template.HTML("<br>The page you have requested is forbidden." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
@ -249,15 +254,16 @@ func forbidden(rw http.ResponseWriter, r *http.Request) {
|
|||||||
"<br>The site may be disabled" +
|
"<br>The site may be disabled" +
|
||||||
"<br>You need to log in" +
|
"<br>You need to log in" +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 404 notfound error.
|
// 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 := map[string]interface{}{
|
||||||
data["Title"] = "Page Not Found"
|
"Title": http.StatusText(404),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested has flown the coop." +
|
data["Content"] = template.HTML("<br>The page you have requested has flown the coop." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
@ -266,92 +272,97 @@ func notFound(rw http.ResponseWriter, r *http.Request) {
|
|||||||
"<br>You were looking for your puppy and got lost" +
|
"<br>You were looking for your puppy and got lost" +
|
||||||
"<br>You like 404 pages" +
|
"<br>You like 404 pages" +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 405 Method Not Allowed
|
// show 405 Method Not Allowed
|
||||||
func methodNotAllowed(rw http.ResponseWriter, r *http.Request) {
|
func methodNotAllowed(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := map[string]interface{}{
|
||||||
data["Title"] = "Method Not Allowed"
|
"Title": http.StatusText(405),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The method you have requested Not Allowed." +
|
data["Content"] = template.HTML("<br>The method you have requested Not Allowed." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br>The method specified in the Request-Line is not allowed for the resource identified by the Request-URI" +
|
"<br>The method specified in the Request-Line is not allowed for the resource identified by the Request-URI" +
|
||||||
"<br>The response MUST include an Allow header containing a list of valid methods for the requested resource." +
|
"<br>The response MUST include an Allow header containing a list of valid methods for the requested resource." +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 500 internal server error.
|
// 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 := map[string]interface{}{
|
||||||
data["Title"] = "Internal Server Error"
|
"Title": http.StatusText(500),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested is down right now." +
|
data["Content"] = template.HTML("<br>The page you have requested is down right now." +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br>Please try again later and report the error to the website administrator" +
|
"<br>Please try again later and report the error to the website administrator" +
|
||||||
"<br></ul>")
|
"<br></ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 501 Not Implemented.
|
// show 501 Not Implemented.
|
||||||
func notImplemented(rw http.ResponseWriter, r *http.Request) {
|
func notImplemented(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := map[string]interface{}{
|
||||||
data["Title"] = "Not Implemented"
|
"Title": http.StatusText(504),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested is Not Implemented." +
|
data["Content"] = template.HTML("<br>The page you have requested is Not Implemented." +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br>Please try again later and report the error to the website administrator" +
|
"<br>Please try again later and report the error to the website administrator" +
|
||||||
"<br></ul>")
|
"<br></ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 502 Bad Gateway.
|
// show 502 Bad Gateway.
|
||||||
func badGateway(rw http.ResponseWriter, r *http.Request) {
|
func badGateway(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := map[string]interface{}{
|
||||||
data["Title"] = "Bad Gateway"
|
"Title": http.StatusText(502),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested is down right now." +
|
data["Content"] = template.HTML("<br>The page you have requested is down right now." +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br>The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request." +
|
"<br>The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request." +
|
||||||
"<br>Please try again later and report the error to the website administrator" +
|
"<br>Please try again later and report the error to the website administrator" +
|
||||||
"<br></ul>")
|
"<br></ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 503 service unavailable error.
|
// 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 := map[string]interface{}{
|
||||||
data["Title"] = "Service Unavailable"
|
"Title": http.StatusText(503),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested is unavailable." +
|
data["Content"] = template.HTML("<br>The page you have requested is unavailable." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br><br>The page is overloaded" +
|
"<br><br>The page is overloaded" +
|
||||||
"<br>Please try again later." +
|
"<br>Please try again later." +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// show 504 Gateway Timeout.
|
// show 504 Gateway Timeout.
|
||||||
func gatewayTimeout(rw http.ResponseWriter, r *http.Request) {
|
func gatewayTimeout(rw http.ResponseWriter, r *http.Request) {
|
||||||
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
t, _ := template.New("beegoerrortemp").Parse(errtpl)
|
||||||
data := make(map[string]interface{})
|
data := map[string]interface{}{
|
||||||
data["Title"] = "Gateway Timeout"
|
"Title": http.StatusText(504),
|
||||||
|
"BeegoVersion": VERSION,
|
||||||
|
}
|
||||||
data["Content"] = template.HTML("<br>The page you have requested is unavailable." +
|
data["Content"] = template.HTML("<br>The page you have requested is unavailable." +
|
||||||
"<br>Perhaps you are here because:" +
|
"<br>Perhaps you are here because:" +
|
||||||
"<br><br><ul>" +
|
"<br><br><ul>" +
|
||||||
"<br><br>The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI." +
|
"<br><br>The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI." +
|
||||||
"<br>Please try again later." +
|
"<br>Please try again later." +
|
||||||
"</ul>")
|
"</ul>")
|
||||||
data["BeegoVersion"] = VERSION
|
|
||||||
t.Execute(rw, data)
|
t.Execute(rw, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -360,11 +371,11 @@ func gatewayTimeout(rw http.ResponseWriter, r *http.Request) {
|
|||||||
// beego.ErrorHandler("404",NotFound)
|
// beego.ErrorHandler("404",NotFound)
|
||||||
// beego.ErrorHandler("500",InternalServerError)
|
// beego.ErrorHandler("500",InternalServerError)
|
||||||
func ErrorHandler(code string, h http.HandlerFunc) *App {
|
func ErrorHandler(code string, h http.HandlerFunc) *App {
|
||||||
errinfo := &errorInfo{}
|
ErrorMaps[code] = &errorInfo{
|
||||||
errinfo.errorType = errorTypeHandler
|
errorType: errorTypeHandler,
|
||||||
errinfo.handler = h
|
handler: h,
|
||||||
errinfo.method = code
|
method: code,
|
||||||
ErrorMaps[code] = errinfo
|
}
|
||||||
return BeeApp
|
return BeeApp
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,12 +389,12 @@ func ErrorController(c ControllerInterface) *App {
|
|||||||
for i := 0; i < rt.NumMethod(); i++ {
|
for i := 0; i < rt.NumMethod(); i++ {
|
||||||
methodName := rt.Method(i).Name
|
methodName := rt.Method(i).Name
|
||||||
if !utils.InSlice(methodName, exceptMethod) && strings.HasPrefix(methodName, "Error") {
|
if !utils.InSlice(methodName, exceptMethod) && strings.HasPrefix(methodName, "Error") {
|
||||||
errinfo := &errorInfo{}
|
|
||||||
errinfo.errorType = errorTypeController
|
|
||||||
errinfo.controllerType = ct
|
|
||||||
errinfo.method = methodName
|
|
||||||
errName := strings.TrimPrefix(methodName, "Error")
|
errName := strings.TrimPrefix(methodName, "Error")
|
||||||
ErrorMaps[errName] = errinfo
|
ErrorMaps[errName] = &errorInfo{
|
||||||
|
errorType: errorTypeController,
|
||||||
|
controllerType: ct,
|
||||||
|
method: methodName,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return BeeApp
|
return BeeApp
|
||||||
@ -432,9 +443,8 @@ func executeError(err *errorInfo, ctx *context.Context, code int) {
|
|||||||
|
|
||||||
execController.URLMapping()
|
execController.URLMapping()
|
||||||
|
|
||||||
var in []reflect.Value
|
|
||||||
method := vc.MethodByName(err.method)
|
method := vc.MethodByName(err.method)
|
||||||
method.Call(in)
|
method.Call([]reflect.Value{})
|
||||||
|
|
||||||
//render template
|
//render template
|
||||||
if BConfig.WebConfig.AutoRender {
|
if BConfig.WebConfig.AutoRender {
|
||||||
|
11
filter.go
11
filter.go
@ -33,12 +33,11 @@ type FilterRouter struct {
|
|||||||
// If the request is matched, the values of the URL parameters defined
|
// If the request is matched, the values of the URL parameters defined
|
||||||
// by the filter pattern are also returned.
|
// by the filter pattern are also returned.
|
||||||
func (f *FilterRouter) ValidRouter(url string, ctx *context.Context) bool {
|
func (f *FilterRouter) ValidRouter(url string, ctx *context.Context) bool {
|
||||||
isok := f.tree.Match(url, ctx)
|
isOk := f.tree.Match(url, ctx)
|
||||||
if isok == nil {
|
if isOk != nil {
|
||||||
return false
|
if b, ok := isOk.(bool); ok {
|
||||||
}
|
return b
|
||||||
if isok, ok := isok.(bool); ok {
|
}
|
||||||
return isok
|
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
43
hooks.go
43
hooks.go
@ -1,11 +1,10 @@
|
|||||||
package beego
|
package beego
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"mime"
|
"mime"
|
||||||
"path/filepath"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/astaxie/beego/session"
|
"github.com/astaxie/beego/session"
|
||||||
)
|
)
|
||||||
@ -20,8 +19,7 @@ func registerMime() error {
|
|||||||
|
|
||||||
// register default error http handlers, 404,401,403,500 and 503.
|
// register default error http handlers, 404,401,403,500 and 503.
|
||||||
func registerDefaultErrorHandler() error {
|
func registerDefaultErrorHandler() error {
|
||||||
|
m := map[string]func(http.ResponseWriter, *http.Request){
|
||||||
for e, h := range map[string]func(http.ResponseWriter, *http.Request){
|
|
||||||
"401": unauthorized,
|
"401": unauthorized,
|
||||||
"402": paymentRequired,
|
"402": paymentRequired,
|
||||||
"403": forbidden,
|
"403": forbidden,
|
||||||
@ -32,7 +30,8 @@ func registerDefaultErrorHandler() error {
|
|||||||
"502": badGateway,
|
"502": badGateway,
|
||||||
"503": serviceUnavailable,
|
"503": serviceUnavailable,
|
||||||
"504": gatewayTimeout,
|
"504": gatewayTimeout,
|
||||||
} {
|
}
|
||||||
|
for e, h := range m {
|
||||||
if _, ok := ErrorMaps[e]; !ok {
|
if _, ok := ErrorMaps[e]; !ok {
|
||||||
ErrorHandler(e, h)
|
ErrorHandler(e, h)
|
||||||
}
|
}
|
||||||
@ -45,16 +44,22 @@ func registerSession() error {
|
|||||||
var err error
|
var err error
|
||||||
sessionConfig := AppConfig.String("sessionConfig")
|
sessionConfig := AppConfig.String("sessionConfig")
|
||||||
if sessionConfig == "" {
|
if sessionConfig == "" {
|
||||||
sessionConfig = `{"cookieName":"` + BConfig.WebConfig.Session.SessionName + `",` +
|
conf := map[string]interface{}{
|
||||||
`"gclifetime":` + strconv.FormatInt(BConfig.WebConfig.Session.SessionGCMaxLifetime, 10) + `,` +
|
"cookieName": BConfig.WebConfig.Session.SessionName,
|
||||||
`"providerConfig":"` + filepath.ToSlash(BConfig.WebConfig.Session.SessionProviderConfig) + `",` +
|
"gclifetime": BConfig.WebConfig.Session.SessionGCMaxLifetime,
|
||||||
`"secure":` + strconv.FormatBool(BConfig.Listen.HTTPSEnable) + `,` +
|
"providerConfig": filepath.ToSlash(BConfig.WebConfig.Session.SessionProviderConfig),
|
||||||
`"enableSetCookie":` + strconv.FormatBool(BConfig.WebConfig.Session.SessionAutoSetCookie) + `,` +
|
"secure": BConfig.Listen.HTTPSEnable,
|
||||||
`"domain":"` + BConfig.WebConfig.Session.SessionDomain + `",` +
|
"enableSetCookie": BConfig.WebConfig.Session.SessionAutoSetCookie,
|
||||||
`"cookieLifeTime":` + strconv.Itoa(BConfig.WebConfig.Session.SessionCookieLifeTime) + `}`
|
"domain": BConfig.WebConfig.Session.SessionDomain,
|
||||||
|
"cookieLifeTime": BConfig.WebConfig.Session.SessionCookieLifeTime,
|
||||||
|
}
|
||||||
|
confBytes, err := json.Marshal(conf)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
sessionConfig = string(confBytes)
|
||||||
}
|
}
|
||||||
GlobalSessions, err = session.NewManager(BConfig.WebConfig.Session.SessionProvider, sessionConfig)
|
if GlobalSessions, err = session.NewManager(BConfig.WebConfig.Session.SessionProvider, sessionConfig); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
go GlobalSessions.GC()
|
go GlobalSessions.GC()
|
||||||
@ -64,9 +69,11 @@ func registerSession() error {
|
|||||||
|
|
||||||
func registerTemplate() error {
|
func registerTemplate() error {
|
||||||
if BConfig.WebConfig.AutoRender {
|
if BConfig.WebConfig.AutoRender {
|
||||||
err := BuildTemplate(BConfig.WebConfig.ViewsPath)
|
if err := BuildTemplate(BConfig.WebConfig.ViewsPath); err != nil {
|
||||||
if err != nil && BConfig.RunMode == "dev" {
|
if BConfig.RunMode == "dev" {
|
||||||
Warn(err)
|
Warn(err)
|
||||||
|
}
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user