mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-12 19:05:55 +02:00
generate last-modified string at settings init
This commit is contained in:
parent
77dfd64445
commit
c4f7bb7604
4 changed files with 14 additions and 9 deletions
|
@ -7,7 +7,7 @@ tmp_dir = "tmp"
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
# Just plain old shell command. You could use `make` as well.
|
# Just plain old shell command. You could use `make` as well.
|
||||||
cmd = "go build -ldflags=\"-X 'github.com/0xJacky/Nginx-UI/server/settings.BuildTime=$(date +%Y.%m.%d.%H%M%S)'\" -o ./tmp/main ."
|
cmd = "go build -ldflags=\"-X 'github.com/0xJacky/Nginx-UI/server/settings.buildTime=$(date +%s)'\" -o ./tmp/main ."
|
||||||
# Binary file yields from `cmd`.
|
# Binary file yields from `cmd`.
|
||||||
bin = "tmp/main"
|
bin = "tmp/main"
|
||||||
# Customize binary.
|
# Customize binary.
|
||||||
|
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -151,7 +151,7 @@ jobs:
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
mkdir -p dist
|
mkdir -p dist
|
||||||
go build -ldflags "$LD_FLAGS -X 'github.com/0xJacky/Nginx-UI/server/settings.BuildTime=$(date +%Y.%m.%d.%H%M%S)'" -o dist/nginx-ui -v main.go
|
go build -ldflags "$LD_FLAGS -X 'github.com/0xJacky/Nginx-UI/server/settings.buildTime=$(date +%s)'" -o dist/nginx-ui -v main.go
|
||||||
|
|
||||||
- name: Archive backend artifacts
|
- name: Archive backend artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
|
|
|
@ -12,7 +12,6 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func recovery() gin.HandlerFunc {
|
func recovery() gin.HandlerFunc {
|
||||||
|
@ -84,13 +83,10 @@ func cacheJs() gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
if strings.Contains(c.Request.URL.String(), "js") {
|
if strings.Contains(c.Request.URL.String(), "js") {
|
||||||
c.Header("Cache-Control", "max-age: 1296000")
|
c.Header("Cache-Control", "max-age: 1296000")
|
||||||
t, _ := time.Parse("2006.01.02.150405", settings.BuildTime)
|
if c.Request.Header.Get("If-Modified-Since") == settings.LastModified {
|
||||||
t = t.Add(-8 * time.Hour)
|
|
||||||
lastModified := strings.ReplaceAll(t.Format(time.RFC1123), "UTC", "GMT")
|
|
||||||
if c.Request.Header.Get("If-Modified-Since") == lastModified {
|
|
||||||
c.AbortWithStatus(http.StatusNotModified)
|
c.AbortWithStatus(http.StatusNotModified)
|
||||||
}
|
}
|
||||||
c.Header("Last-Modified", lastModified)
|
c.Header("Last-Modified", settings.LastModified)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,18 @@
|
||||||
package settings
|
package settings
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/spf13/cast"
|
||||||
"gopkg.in/ini.v1"
|
"gopkg.in/ini.v1"
|
||||||
"log"
|
"log"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Conf *ini.File
|
var Conf *ini.File
|
||||||
|
|
||||||
var (
|
var (
|
||||||
BuildTime string
|
buildTime string
|
||||||
|
LastModified string
|
||||||
)
|
)
|
||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
|
@ -36,6 +40,11 @@ var sections = map[string]interface{}{
|
||||||
"server": ServerSettings,
|
"server": ServerSettings,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
t := time.Unix(cast.ToInt64(buildTime), 0)
|
||||||
|
LastModified = strings.ReplaceAll(t.Format(time.RFC1123), "UTC", "GMT")
|
||||||
|
}
|
||||||
|
|
||||||
func Init(confPath string) {
|
func Init(confPath string) {
|
||||||
ConfPath = confPath
|
ConfPath = confPath
|
||||||
Setup()
|
Setup()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue