[server] Use req header for client info

This commit is contained in:
Neeraj Gupta
2024-07-24 15:02:28 +05:30
parent 66e1062cd3
commit 626bc71b25
2 changed files with 11 additions and 1 deletions

View File

@@ -110,7 +110,7 @@ func (c *Controller) InsertOrUpdate(ctx *gin.Context, req ente.InsertOrUpdateEmb
Version: version,
EncryptedEmbedding: req.EncryptedEmbedding,
DecryptionHeader: req.DecryptionHeader,
Client: network.GetPrettyUA(ctx.GetHeader("User-Agent")) + "/" + ctx.GetHeader("X-Client-Version"),
Client: network.GetClientInfo(ctx),
}
size, uploadErr := c.uploadObject(obj, c.getObjectKey(userID, req.FileID, req.Model), c.derivedStorageDataCenter)
if uploadErr != nil {

View File

@@ -34,3 +34,13 @@ func GetPrettyUA(ua string) string {
}
return parsedUA.UserAgent.Family + ", " + parsedUA.Os.ToString()
}
// GetClientInfo returns the client package and version from the request headers
func GetClientInfo(gin *gin.Context) string {
client := gin.GetHeader("X-Client-Package")
version := gin.GetHeader("X-Client-Version")
if version == "" {
return client
}
return client + "/" + version
}