diff --git a/api/get_cover_art.go b/api/media_retrieval.go similarity index 59% rename from api/get_cover_art.go rename to api/media_retrieval.go index baed8f3f4..1d6d19976 100644 --- a/api/get_cover_art.go +++ b/api/media_retrieval.go @@ -1,22 +1,36 @@ package api import ( + "io" + "os" + "github.com/astaxie/beego" "github.com/deluan/gosonic/api/responses" "github.com/deluan/gosonic/engine" "github.com/deluan/gosonic/utils" ) -type GetCoverArtController struct { +type MediaRetrievalController struct { BaseAPIController cover engine.Cover } -func (c *GetCoverArtController) Prepare() { +func (c *MediaRetrievalController) Prepare() { utils.ResolveDependencies(&c.cover) } -func (c *GetCoverArtController) Get() { +func (c *MediaRetrievalController) GetAvatar() { + var f *os.File + f, err := os.Open("static/itunes.png") + if err != nil { + beego.Error(err, "Image not found") + c.SendError(responses.ERROR_DATA_NOT_FOUND, "Avatar image not found") + } + defer f.Close() + io.Copy(c.Ctx.ResponseWriter, f) +} + +func (c *MediaRetrievalController) GetCover() { id := c.RequiredParamString("id", "id parameter required") size := c.ParamInt("size", 0) diff --git a/api/get_cover_art_test.go b/api/media_retrieval_test.go similarity index 100% rename from api/get_cover_art_test.go rename to api/media_retrieval_test.go diff --git a/conf/router.go b/conf/router.go index 4fa59a19e..9694539e7 100644 --- a/conf/router.go +++ b/conf/router.go @@ -25,7 +25,8 @@ func mapEndpoints() { beego.NSRouter("/search2.view", &api.SearchingController{}, "*:Search2"), - beego.NSRouter("/getCoverArt.view", &api.GetCoverArtController{}, "*:Get"), + beego.NSRouter("/getCoverArt.view", &api.MediaRetrievalController{}, "*:GetCover"), + beego.NSRouter("/getAvatar.view", &api.MediaRetrievalController{}, "*:GetAvatar"), beego.NSRouter("/stream.view", &api.StreamController{}, "*:Stream"), beego.NSRouter("/download.view", &api.StreamController{}, "*:Download"), diff --git a/static/itunes.png b/static/itunes.png new file mode 100644 index 000000000..8384f62b2 Binary files /dev/null and b/static/itunes.png differ