正在显示
1 个修改的文件
包含
18 行增加
和
1 行删除
| @@ -2,6 +2,7 @@ package beego | @@ -2,6 +2,7 @@ package beego | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "encoding/json" | 4 | "encoding/json" |
| 5 | + "net/http" | ||
| 5 | "os" | 6 | "os" |
| 6 | "strconv" | 7 | "strconv" |
| 7 | 8 | ||
| @@ -45,7 +46,7 @@ func init() { | @@ -45,7 +46,7 @@ func init() { | ||
| 45 | } | 46 | } |
| 46 | 47 | ||
| 47 | filters.SecureKeyMap["token"] = "x-mmm-accesstoken" | 48 | filters.SecureKeyMap["token"] = "x-mmm-accesstoken" |
| 48 | - web.InsertFilter("/*", web.BeforeRouter, filters.AllowCors()) | 49 | + web.InsertFilter("/*", web.BeforeRouter, AllowCors()) |
| 49 | web.InsertFilter("/*", web.BeforeRouter, filters.CreateRequstLogFilter(log.Logger)) | 50 | web.InsertFilter("/*", web.BeforeRouter, filters.CreateRequstLogFilter(log.Logger)) |
| 50 | web.InsertFilter("/v1/web/*", web.BeforeExec, middleware.CheckAccessToken2()) | 51 | web.InsertFilter("/v1/web/*", web.BeforeExec, middleware.CheckAccessToken2()) |
| 51 | web.InsertFilter("/v1/app/*", web.BeforeExec, middleware.CheckAccessToken2()) | 52 | web.InsertFilter("/v1/app/*", web.BeforeExec, middleware.CheckAccessToken2()) |
| @@ -60,3 +61,19 @@ func init() { | @@ -60,3 +61,19 @@ func init() { | ||
| 60 | )) | 61 | )) |
| 61 | //web.InsertFilterChain("/v1/*", middleware.CheckAccessToken) | 62 | //web.InsertFilterChain("/v1/*", middleware.CheckAccessToken) |
| 62 | } | 63 | } |
| 64 | + | ||
| 65 | +func AllowCors() func(ctx *context.Context) { | ||
| 66 | + return func(ctx *context.Context) { | ||
| 67 | + ctx.Output.Header("Access-Control-Allow-Methods", "OPTIONS,DELETE,POST,GET,PUT,PATCH") | ||
| 68 | + //ctx.Output.Header("Access-Control-Max-Age", "3600") | ||
| 69 | + //ctx.Output.Header("Access-Control-Allow-Headers", "*,x-mmm-version") | ||
| 70 | + ctx.Output.Header("Access-Control-Allow-Headers", "Content-Type,X-Mmm-Accesstoken,X-Mmm-Devicetype,X-Mmm-Sign,X-Mmm-Timestamp,X-Mmm-Uuid,X-Mmm-Version") | ||
| 71 | + ctx.Output.Header("Access-Control-Allow-Credentials", "true") | ||
| 72 | + ctx.Output.Header("Access-Control-Allow-Origin", "*") //origin | ||
| 73 | + if ctx.Input.Method() == http.MethodOptions { | ||
| 74 | + // options请求,返回200 | ||
| 75 | + ctx.Output.SetStatus(http.StatusOK) | ||
| 76 | + _ = ctx.Output.Body([]byte("options support")) | ||
| 77 | + } | ||
| 78 | + } | ||
| 79 | +} |
-
请 注册 或 登录 后发表评论