|
|
- package app
-
- import (
- "github.com/revel/revel"
- )
-
- var (
- // AppVersion revel app version (ldflags)
- AppVersion string
-
- // BuildTime revel app build-time (ldflags)
- BuildTime string
- )
-
- func init() {
- // Filters is the default set of global filters.
- revel.Filters = []revel.Filter{
- revel.PanicFilter, // Recover from panics and display an error page instead.
- revel.RouterFilter, // Use the routing table to select the right Action
- revel.FilterConfiguringFilter, // A hook for adding or removing per-Action filters.
- revel.ParamsFilter, // Parse parameters into Controller.Params.
- revel.SessionFilter, // Restore and write the session cookie.
- revel.FlashFilter, // Restore and write the flash cookie.
- revel.ValidationFilter, // Restore kept validation errors and save new ones from cookie.
- revel.I18nFilter, // Resolve the requested language
- HeaderFilter, // Add some security based headers
- revel.InterceptorFilter, // Run interceptors around the action.
- revel.CompressFilter, // Compress the result.
- revel.BeforeAfterFilter, // Call the before and after filter functions
- revel.ActionInvoker, // Invoke the action.
- }
-
- // Register startup functions with OnAppStart
- // revel.DevMode and revel.RunMode only work inside of OnAppStart. See Example Startup Script
- // ( order dependent )
- // revel.OnAppStart(ExampleStartupScript)
- // revel.OnAppStart(InitDB)
- // revel.OnAppStart(FillCache)
- }
-
- // HeaderFilter adds common security headers
- // There is a full implementation of a CSRF filter in
- // https://github.com/revel/modules/tree/master/csrf
- var HeaderFilter = func(c *revel.Controller, fc []revel.Filter) {
- c.Response.Out.Header().Add("X-Frame-Options", "SAMEORIGIN")
- c.Response.Out.Header().Add("X-XSS-Protection", "1; mode=block")
- c.Response.Out.Header().Add("X-Content-Type-Options", "nosniff")
- c.Response.Out.Header().Add("Referrer-Policy", "strict-origin-when-cross-origin")
-
- fc[0](c, fc[1:]) // Execute the next filter stage.
- }
-
- //func ExampleStartupScript() {
- // // revel.DevMod and revel.RunMode work here
- // // Use this script to check for dev mode and set dev/prod startup scripts here!
- // if revel.DevMode == true {
- // // Dev mode
- // }
- //}
|