new proxy implementation with Gin framework
- Created a new proxy structure under NewProxy/ using the Gin web framework. - Added main entry point (main.go) to register and run routes. - Implemented new route handlers for: > Status — monitors active downloads and total data transferred. > Forward — handles proxy forwarding logic. > Builds — manages build-related requests.
This commit is contained in:
52
NewProxy/utils/release.go
Normal file
52
NewProxy/utils/release.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ReleaseInfo struct {
|
||||
ReleaseTS float64 `json:"release_ts"`
|
||||
ReleaseVersion string `json:"release_version"`
|
||||
}
|
||||
|
||||
var LatestRelease = ReleaseInfo{}
|
||||
|
||||
func FetchLatestRelease() {
|
||||
file, err := os.Open("data/release.json")
|
||||
if err != nil {
|
||||
fmt.Println("Error opening release.json:", err)
|
||||
setDefaultRelease()
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
var data map[string]string
|
||||
if err := json.NewDecoder(file).Decode(&data); err != nil {
|
||||
fmt.Println("Error decoding release.json:", err)
|
||||
setDefaultRelease()
|
||||
return
|
||||
}
|
||||
|
||||
releaseVersion := data["release_version"]
|
||||
releaseTimeStr := data["release_time"]
|
||||
|
||||
releaseTS := float64(time.Now().Unix())
|
||||
if t, err := time.Parse(time.RFC3339, releaseTimeStr); err == nil {
|
||||
releaseTS = float64(t.Unix())
|
||||
}
|
||||
|
||||
LatestRelease = ReleaseInfo{
|
||||
ReleaseTS: releaseTS,
|
||||
ReleaseVersion: releaseVersion,
|
||||
}
|
||||
}
|
||||
|
||||
func setDefaultRelease() {
|
||||
LatestRelease = ReleaseInfo{
|
||||
ReleaseTS: float64(time.Now().Unix()),
|
||||
ReleaseVersion: "N/A",
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user