Better Ping implementation

This commit is contained in:
Deluan
2016-02-24 00:29:27 -05:00
parent b9e9d38a9a
commit ed1a132d8e
3 changed files with 22 additions and 6 deletions
+13 -4
View File
@@ -1,14 +1,23 @@
package controllers
import "github.com/astaxie/beego"
import (
"github.com/astaxie/beego"
"encoding/xml"
)
type PingController struct {
beego.Controller
type PingResponse struct {
XMLName xml.Name `xml:"http://subsonic.org/restapi subsonic-response"`
Status string `xml:"status,attr"`
Version string `xml:"version,attr"`
}
type PingController struct{ beego.Controller }
// @router /rest/ping.view [get]
func (this *PingController) Get() {
this.Ctx.WriteString("<subsonic-response xmlns=\"http://subsonic.org/restapi\" status=\"ok\" version=\"1.0.0\"></subsonic-response>")
response := &PingResponse{Status:"ok", Version: beego.AppConfig.String("apiversion")}
xmlBody, _ := xml.Marshal(response)
this.Ctx.Output.Body([]byte(xml.Header + string(xmlBody)))
}