给高频调用的路由加上 cache-control
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@ services:
|
||||
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-eafon123!}
|
||||
- MEILISEARCH_API_KEY=${MEILISEARCH_API_KEY:-young9#!UJsD219921031}
|
||||
- ENABLE_PERSIST_TASK=true
|
||||
- ENABLE_PERSIST_TASK=false
|
||||
- AWS_REGION=eu-central-1
|
||||
- S3_BUCKET=luxsin-app-bucket
|
||||
- SHARE_CODE_MAX_PER_MAC=${SHARE_CODE_MAX_PER_MAC:-1}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package middleware
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
const (
|
||||
CacheControlList = "public, max-age=300, s-maxage=1800, stale-while-revalidate=60"
|
||||
CacheControlCurve = "public, max-age=300, s-maxage=3600, stale-while-revalidate=120"
|
||||
CacheControlModelList = "public, max-age=30, s-maxage=300, stale-while-revalidate=30"
|
||||
)
|
||||
|
||||
func CacheControl(value string) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
c.Header("Cache-Control", value)
|
||||
c.Header("Vary", "Accept-Encoding")
|
||||
c.Next()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,13 +62,13 @@ func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Cl
|
||||
|
||||
audio := r.Group("/audio")
|
||||
{
|
||||
audio.GET("/getBrand", brand.GetBrand)
|
||||
audio.GET("/getModel", model.GetModel)
|
||||
audio.GET("/modelList", modelList.ModelList)
|
||||
audio.GET("/getBrand", middleware.CacheControl(middleware.CacheControlList), brand.GetBrand)
|
||||
audio.GET("/getModel", middleware.CacheControl(middleware.CacheControlList), model.GetModel)
|
||||
audio.GET("/modelList", middleware.CacheControl(middleware.CacheControlModelList), modelList.ModelList)
|
||||
audio.GET("/reportDevInfo", device.ReportDevInfo)
|
||||
audio.GET("/ota", ota.GetOTA)
|
||||
audio.GET("/getCurve", curve.GetCurve)
|
||||
audio.GET("/modelCurve", curve.ModelCurve)
|
||||
audio.GET("/getCurve", middleware.CacheControl(middleware.CacheControlCurve), curve.GetCurve)
|
||||
audio.GET("/modelCurve", middleware.CacheControl(middleware.CacheControlCurve), curve.ModelCurve)
|
||||
audio.GET("/getModelCSV", modelCSV.GetModelCSV)
|
||||
audio.POST("/shareCreate", shareCode.ExportShareCode)
|
||||
audio.GET("/shareList", shareCode.ListShareCodesByMac)
|
||||
|
||||
Reference in New Issue
Block a user