Author: Paolo Lulli <paolo@lulli.net>
Move clientid to header
server/rest/mtls.go | 7 +++++++ server/rest/rest-event.go | 10 ++++++---- server/rest/rest-metric.go | 11 ++++++-----
diff --git a/server/rest/mtls.go b/server/rest/mtls.go new file mode 100644 index 0000000000000000000000000000000000000000..37c6624eca463c718f376c3110a116983d0e0537 --- /dev/null +++ b/server/rest/mtls.go @@ -0,0 +1,7 @@ +package rest + +import "github.com/gin-gonic/gin" + +func GetClientCN(c *gin.Context) string { + return c.Request.Header.Get("x-ssl-client-cn") +} diff --git a/server/rest/rest-event.go b/server/rest/rest-event.go index d7828a4b367f0b1a234ecdd86b9af27dc6d966ea..7639fd701ac685ac43f25e0f6b118e4499dac54b 100644 --- a/server/rest/rest-event.go +++ b/server/rest/rest-event.go @@ -28,8 +28,9 @@ c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "-1"}) return } - fmt.Printf("%s / %s ", event.ID_client, event.Name) - db.SaveEvent(event.ID_client, event.Name) + clientCN := GetClientCN(c) + fmt.Printf("%s / %s ", clientCN, event.Name) + db.SaveEvent(clientCN, event.Name) c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "0"}) } @@ -42,10 +43,11 @@ c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "-1"}) return } - fmt.Printf("%s / %s ", event.ID_client, event.Name) + clientCN := GetClientCN(c) + fmt.Printf("%s / %s ", clientCN, event.Name) unixTimeUTC := time.Unix(event.Etime, 0) - db.SaveEventAt(event.ID_client, unixTimeUTC, event.Name) + db.SaveEventAt(clientCN, unixTimeUTC, event.Name) c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "OK"}) } diff --git a/server/rest/rest-metric.go b/server/rest/rest-metric.go index fb34eee2dd1a9e1a1bb748f3878d90d862604395..9ea5ffdac0ecd2776c5edb64b114e9444a4cba3f 100644 --- a/server/rest/rest-metric.go +++ b/server/rest/rest-metric.go @@ -28,9 +28,9 @@ c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "-1"}) return } - // TODO header := c.Request.Header.Get("some-header") - fmt.Printf("%s / %s / %s", metric.ID_client, metric.Name, metric.Value) - db.SaveMetric(metric.ID_client, metric.Name, metric.Value) + clientCN := GetClientCN(c) + fmt.Printf("%s / %s / %s", clientCN, metric.Name, metric.Value) + db.SaveMetric(clientCN, metric.Name, metric.Value) c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "0"}) } @@ -43,10 +43,11 @@ c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "-1"}) return } - fmt.Printf("%s / %s / %s", metric.ID_client, metric.Name, metric.Value) + clientCN := GetClientCN(c) + fmt.Printf("%s / %s / %s", clientCN, metric.Name, metric.Value) unixTimeUTC := time.Unix(metric.Mtime, 0) - db.SaveMetricAt(metric.ID_client, unixTimeUTC, metric.Name, metric.Value) + db.SaveMetricAt(clientCN, unixTimeUTC, metric.Name, metric.Value) c.IndentedJSON(http.StatusAccepted, gin.H{"ret": "OK"}) }