mirror of
https://github.com/wahyd4/badger.git
synced 2026-08-09 05:15:58 +10:00
do not increase view count for internal access
This commit is contained in:
+9
-7
@@ -121,9 +121,9 @@ func (handler *BadgesHandler) generateSVG(c *gin.Context, colorScheme ColorSchem
|
||||
|
||||
prometheusOptions := badge.OptionStruct.(*models.PrometheusOptions)
|
||||
|
||||
metric, _ := handler.queryMetric(badge, handler.PrometheusAPIClient, prometheusOptions)
|
||||
metric, _ := handler.queryMetric(badge, internalRequest, prometheusOptions)
|
||||
|
||||
metricValue := int(metric.Value)
|
||||
metricValue := metric.Value
|
||||
label := metric.Label
|
||||
|
||||
valueRectWidth := 40
|
||||
@@ -247,14 +247,14 @@ func (handler *BadgesHandler) CreateBadge(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"id": newID})
|
||||
}
|
||||
|
||||
func (handler *BadgesHandler) queryMetric(badge *models.Badge, client api.Client, options *models.PrometheusOptions) (*Metric, error) {
|
||||
func (handler *BadgesHandler) queryMetric(badge *models.Badge, internalRequest bool, options *models.PrometheusOptions) (*Metric, error) {
|
||||
viewCount, err := handler.fetchViewCountFromDB(badge)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if viewCount.Count == 0 {
|
||||
v1api := v1.NewAPI(client)
|
||||
v1api := v1.NewAPI(handler.PrometheusAPIClient)
|
||||
ctx, cancel := context.WithTimeout(context.Background(), metricRequestTimeout)
|
||||
defer cancel()
|
||||
|
||||
@@ -271,9 +271,11 @@ func (handler *BadgesHandler) queryMetric(badge *models.Badge, client api.Client
|
||||
viewCount.Count = int(float64(v.Value))
|
||||
}
|
||||
}
|
||||
|
||||
if err = handler.updateMetric(viewCount); err != nil {
|
||||
return nil, err
|
||||
// only increase count for non internal request
|
||||
if !internalRequest {
|
||||
if err = handler.updateMetric(viewCount); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &Metric{
|
||||
|
||||
Reference in New Issue
Block a user