38 lines
853 B
Go
38 lines
853 B
Go
package controllers
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"main/mvc/models"
|
|
"net/http"
|
|
)
|
|
|
|
// Обработчик главной страницы
|
|
func LastfmHandler(app *models.App) http.HandlerFunc {
|
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
var err error
|
|
|
|
resp, err := models.GetRecentTracks("s3rr", "bc5ce9ff9289ac925841cf483e211fc1")
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
|
|
var data string
|
|
if len(resp.RecentTracks.Track) > 0 {
|
|
track := resp.RecentTracks.Track[0]
|
|
data = fmt.Sprintf("%s - %s", track.Name, track.Artist.Name)
|
|
} else {
|
|
data = "lastfm strange error..."
|
|
}
|
|
|
|
sendLastfm(w, data)
|
|
})
|
|
}
|
|
|
|
// Отправляет страницу
|
|
func sendLastfm(w http.ResponseWriter, data string) {
|
|
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
|
w.WriteHeader(http.StatusOK)
|
|
fmt.Fprint(w, data)
|
|
}
|