diff --git a/controllers/get_license.go b/controllers/get_license.go index a998dad41..142212f7f 100644 --- a/controllers/get_license.go +++ b/controllers/get_license.go @@ -9,7 +9,6 @@ type GetLicenseController struct{ beego.Controller } // @router /rest/getLicense.view [get] func (this *GetLicenseController) Get() { - validate(this) response := responses.NewXML(&responses.License{Valid: true}) this.Ctx.Output.Body(response) } diff --git a/controllers/get_music_folders.go b/controllers/get_music_folders.go index 610a4fb3c..c7076da35 100644 --- a/controllers/get_music_folders.go +++ b/controllers/get_music_folders.go @@ -10,8 +10,6 @@ type GetMusicFoldersController struct{ beego.Controller } // @router /rest/getMusicFolders.view [get] func (this *GetMusicFoldersController) Get() { - validate(this) - repository := new(repositories.MediaFolderRepository) mediaFolderList, _ := repository.GetAll() folders := make([]responses.MusicFolder, len(mediaFolderList)) diff --git a/controllers/ping.go b/controllers/ping.go index a80b1b945..df2098ce4 100644 --- a/controllers/ping.go +++ b/controllers/ping.go @@ -10,7 +10,6 @@ type PingController struct{ beego.Controller } // @router /rest/ping.view [get] func (this *PingController) Get() { - validate(this) response := responses.NewEmpty() xmlBody, _ := xml.Marshal(response) this.Ctx.Output.Body([]byte(xml.Header + string(xmlBody))) diff --git a/controllers/validation.go b/controllers/validation.go index a7bf39715..8e03e67ec 100644 --- a/controllers/validation.go +++ b/controllers/validation.go @@ -10,7 +10,7 @@ type ControllerInterface interface { CustomAbort(status int, body string) } -func validate(controller ControllerInterface) { +func Validate(controller ControllerInterface) { if beego.AppConfig.String("disableValidation") != "true" { checkParameters(controller) authenticate(controller) diff --git a/routers/router.go b/routers/router.go index cc1c000a9..f6e2406c9 100644 --- a/routers/router.go +++ b/routers/router.go @@ -1,16 +1,10 @@ -// @APIVersion 1.0.0 -// @Title beego Test API -// @Description beego has a very cool tools to autogenerate documents for your API -// @Contact astaxie@gmail.com -// @TermsOfServiceUrl http://beego.me/ -// @License Apache 2.0 -// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html package routers import ( "github.com/deluan/gosonic/controllers" "github.com/astaxie/beego" +"github.com/astaxie/beego/context" ) func init() { @@ -19,4 +13,10 @@ func init() { &controllers.GetLicenseController{}, &controllers.GetMusicFoldersController{}, ) + + var ValidateRequest = func(ctx *context.Context) { + controllers.Validate(&beego.Controller{Ctx: ctx}) + } + + beego.InsertFilter("/rest/*", beego.BeforeRouter, ValidateRequest) } diff --git a/tests/test_helper.go b/tests/test_helper.go index cb5ec4bda..d1f76e9eb 100644 --- a/tests/test_helper.go +++ b/tests/test_helper.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/astaxie/beego" "net/http/httptest" -"net/http" + "net/http" "path/filepath" "runtime" )