mirror of
https://github.com/navidrome/navidrome.git
synced 2025-06-12 21:32:17 +03:00
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]
|
// @router /rest/getLicense.view [get]
|
||||||
func (this *GetLicenseController) Get() {
|
func (this *GetLicenseController) Get() {
|
||||||
validate(this)
|
|
||||||
response := responses.NewXML(&responses.License{Valid: true})
|
response := responses.NewXML(&responses.License{Valid: true})
|
||||||
this.Ctx.Output.Body(response)
|
this.Ctx.Output.Body(response)
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,6 @@ type GetMusicFoldersController struct{ beego.Controller }
|
|||||||
|
|
||||||
// @router /rest/getMusicFolders.view [get]
|
// @router /rest/getMusicFolders.view [get]
|
||||||
func (this *GetMusicFoldersController) Get() {
|
func (this *GetMusicFoldersController) Get() {
|
||||||
validate(this)
|
|
||||||
|
|
||||||
repository := new(repositories.MediaFolderRepository)
|
repository := new(repositories.MediaFolderRepository)
|
||||||
mediaFolderList, _ := repository.GetAll()
|
mediaFolderList, _ := repository.GetAll()
|
||||||
folders := make([]responses.MusicFolder, len(mediaFolderList))
|
folders := make([]responses.MusicFolder, len(mediaFolderList))
|
||||||
|
@ -10,7 +10,6 @@ type PingController struct{ beego.Controller }
|
|||||||
|
|
||||||
// @router /rest/ping.view [get]
|
// @router /rest/ping.view [get]
|
||||||
func (this *PingController) Get() {
|
func (this *PingController) Get() {
|
||||||
validate(this)
|
|
||||||
response := responses.NewEmpty()
|
response := responses.NewEmpty()
|
||||||
xmlBody, _ := xml.Marshal(response)
|
xmlBody, _ := xml.Marshal(response)
|
||||||
this.Ctx.Output.Body([]byte(xml.Header + string(xmlBody)))
|
this.Ctx.Output.Body([]byte(xml.Header + string(xmlBody)))
|
||||||
|
@ -10,7 +10,7 @@ type ControllerInterface interface {
|
|||||||
CustomAbort(status int, body string)
|
CustomAbort(status int, body string)
|
||||||
}
|
}
|
||||||
|
|
||||||
func validate(controller ControllerInterface) {
|
func Validate(controller ControllerInterface) {
|
||||||
if beego.AppConfig.String("disableValidation") != "true" {
|
if beego.AppConfig.String("disableValidation") != "true" {
|
||||||
checkParameters(controller)
|
checkParameters(controller)
|
||||||
authenticate(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
|
package routers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/deluan/gosonic/controllers"
|
"github.com/deluan/gosonic/controllers"
|
||||||
|
|
||||||
"github.com/astaxie/beego"
|
"github.com/astaxie/beego"
|
||||||
|
"github.com/astaxie/beego/context"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -19,4 +13,10 @@ func init() {
|
|||||||
&controllers.GetLicenseController{},
|
&controllers.GetLicenseController{},
|
||||||
&controllers.GetMusicFoldersController{},
|
&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"
|
"fmt"
|
||||||
"github.com/astaxie/beego"
|
"github.com/astaxie/beego"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/http"
|
"net/http"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user