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 // } //}