Добавлено логгирование метрик для системы скинов

This commit is contained in:
ErickSkrauch
2016-12-03 01:57:55 +03:00
parent a0d940f8cd
commit 66c61dc3cd
9 changed files with 59 additions and 28 deletions

View File

@@ -2,18 +2,21 @@ package routes
import (
"io"
"log"
"net/http"
"github.com/gorilla/mux"
"elyby/minecraft-skinsystem/lib/tools"
"elyby/minecraft-skinsystem/lib/data"
"elyby/minecraft-skinsystem/lib/services"
)
func Cape(response http.ResponseWriter, request *http.Request) {
if (mux.Vars(request)["converted"] == "") {
services.Logger.IncCounter("capes.request", 1)
}
username := tools.ParseUsername(mux.Vars(request)["username"])
log.Println("request cape for username " + username)
rec, err := data.FindCapeByUsername(username)
if (err != nil) {
http.Redirect(response, request, "http://skins.minecraft.net/MinecraftCloaks/" + username + ".png", 301)
@@ -24,6 +27,7 @@ func Cape(response http.ResponseWriter, request *http.Request) {
}
func CapeGET(w http.ResponseWriter, r *http.Request) {
services.Logger.IncCounter("capes.get-request", 1)
username := r.URL.Query().Get("name")
if username == "" {
w.WriteHeader(http.StatusBadRequest)
@@ -31,5 +35,6 @@ func CapeGET(w http.ResponseWriter, r *http.Request) {
}
mux.Vars(r)["username"] = username
mux.Vars(r)["converted"] = "1"
Cape(w, r)
}

View File

@@ -1,7 +1,6 @@
package routes
import (
"log"
"net/http"
"github.com/gorilla/mux"
@@ -14,7 +13,6 @@ const defaultHash = "default"
func Face(w http.ResponseWriter, r *http.Request) {
username := tools.ParseUsername(mux.Vars(r)["username"])
log.Println("request skin for username " + username);
rec, err := data.FindSkinByUsername(username)
var hash string
if (err != nil || rec.SkinId == 0) {

View File

@@ -4,6 +4,8 @@ import (
"net/http"
"github.com/gorilla/mux"
"elyby/minecraft-skinsystem/lib/services"
)
// Метод-наследие от первой версии системы скинов.
@@ -18,11 +20,15 @@ func MinecraftPHP(w http.ResponseWriter, r *http.Request) {
}
mux.Vars(r)["username"] = username
mux.Vars(r)["converted"] = "1"
switch required {
case "skin": Skin(w, r)
case "cloack": Cape(w, r)
default: {
case "skin":
services.Logger.IncCounter("skins.minecraft-php-request", 1)
Skin(w, r)
case "cloack":
services.Logger.IncCounter("capes.minecraft-php-request", 1)
Cape(w, r)
default:
w.WriteHeader(http.StatusNotFound)
}
}
}

View File

@@ -1,18 +1,21 @@
package routes
import (
"log"
"net/http"
"github.com/gorilla/mux"
"elyby/minecraft-skinsystem/lib/tools"
"elyby/minecraft-skinsystem/lib/data"
"elyby/minecraft-skinsystem/lib/services"
)
func Skin(w http.ResponseWriter, r *http.Request) {
if (mux.Vars(r)["converted"] == "") {
services.Logger.IncCounter("skins.request", 1)
}
username := tools.ParseUsername(mux.Vars(r)["username"])
log.Println("request skin for username " + username);
rec, err := data.FindSkinByUsername(username)
if (err != nil) {
http.Redirect(w, r, "http://skins.minecraft.net/MinecraftSkins/" + username + ".png", 301)
@@ -23,6 +26,7 @@ func Skin(w http.ResponseWriter, r *http.Request) {
}
func SkinGET(w http.ResponseWriter, r *http.Request) {
services.Logger.IncCounter("skins.get-request", 1)
username := r.URL.Query().Get("name")
if username == "" {
w.WriteHeader(http.StatusBadRequest)
@@ -30,5 +34,6 @@ func SkinGET(w http.ResponseWriter, r *http.Request) {
}
mux.Vars(r)["username"] = username
mux.Vars(r)["converted"] = "1"
Skin(w, r)
}

View File

@@ -13,9 +13,8 @@ import (
)
func Textures(w http.ResponseWriter, r *http.Request) {
services.Stats.Incr("textures-requests", 1)
services.Logger.IncCounter("textures.request", 1)
username := tools.ParseUsername(mux.Vars(r)["username"])
log.Println("request textures for username " + username)
rec, err := data.FindSkinByUsername(username)
if (err != nil || rec.SkinId == 0) {