Implemented request validation in a filter
This commit is contained in:
parent
93f115d8e4
commit
ee04b72db1
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/astaxie/beego"
|
||||
"net/http/httptest"
|
||||
"net/http"
|
||||
"net/http"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue