|
|
|
@ -5,10 +5,13 @@ import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
|
|
|
"github.com/gofiber/fiber/v2/middleware/recover"
|
|
|
|
|
jsoniter "github.com/json-iterator/go"
|
|
|
|
|
"github.com/kpango/glg"
|
|
|
|
|
"sync"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
|
|
|
|
|
|
|
|
|
type Channel int
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
@ -65,22 +68,24 @@ func getAttachementURL(attachement Attachement) (string, error) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *RegionCounter) countRegion(region string) {
|
|
|
|
|
glg.Infof("Region %s", region)
|
|
|
|
|
glg.Debugf("%+v", r.RegionCount)
|
|
|
|
|
glg.Debugf("Region %s", region)
|
|
|
|
|
r.Lock()
|
|
|
|
|
defer r.Unlock()
|
|
|
|
|
if region == "" {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
_, ok := r.RegionCount[region]
|
|
|
|
|
val, ok := r.RegionCount[region]
|
|
|
|
|
if !ok {
|
|
|
|
|
glg.Info("New region")
|
|
|
|
|
r.RegionCount[region] = 1
|
|
|
|
|
glg.Debugf("%+v", r.RegionCount)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
r.Lock()
|
|
|
|
|
defer r.Unlock()
|
|
|
|
|
r.RegionCount[region]++
|
|
|
|
|
glg.Debugf("%+v", r.RegionCount)
|
|
|
|
|
r.RegionCount[region] = val + 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *RegionCounter) getRegionCount() map[string]int {
|
|
|
|
|
r.RLock()
|
|
|
|
|
defer r.RUnlock()
|
|
|
|
|
return r.RegionCount
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
@ -92,6 +97,8 @@ func main() {
|
|
|
|
|
GETOnly: true,
|
|
|
|
|
ServerHeader: "Fiber",
|
|
|
|
|
AppName: "Gitea Attachement Proxy",
|
|
|
|
|
JSONEncoder: jsoniter.Marshal,
|
|
|
|
|
JSONDecoder: jsoniter.Unmarshal,
|
|
|
|
|
})
|
|
|
|
|
app.Use(recover.New())
|
|
|
|
|
|
|
|
|
@ -160,11 +167,7 @@ func main() {
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
app.Get("/regions", func(c *fiber.Ctx) error {
|
|
|
|
|
regionCounter.RLock()
|
|
|
|
|
defer regionCounter.RUnlock()
|
|
|
|
|
c.JSON(regionCounter.RegionCount)
|
|
|
|
|
glg.Debugf("%+v", regionCounter.RegionCount)
|
|
|
|
|
return nil
|
|
|
|
|
return c.JSON(regionCounter.getRegionCount())
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
app.Listen(":8080")
|
|
|
|
|