mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-01 06:36:38 +08:00
fix(admin): stop console Intl errors and log websocket drops
Use raw i18n for push template hints so ICU does not parse
{{placeholders}}. Pass total into the user list record count.
Allow log websocket origins behind the Next rewrite, skip the
proxy on Upgrade, and do not open a socket after unmount.
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
"errors"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gorilla/websocket"
|
||||
@@ -179,11 +180,31 @@ func GetLogsAnalytics(c *gin.Context) {
|
||||
func getUpgrader() *websocket.Upgrader {
|
||||
return &websocket.Upgrader{
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
return service.IsAllowedLogOrigin(r.Context(), r.Header.Get("Origin"), r.Host)
|
||||
return service.IsAllowedLogOrigin(
|
||||
r.Context(),
|
||||
r.Header.Get("Origin"),
|
||||
r.Host,
|
||||
forwardedHosts(r)...,
|
||||
)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func forwardedHosts(r *http.Request) []string {
|
||||
raw := r.Header.Get("X-Forwarded-Host")
|
||||
if raw == "" {
|
||||
return nil
|
||||
}
|
||||
parts := strings.Split(raw, ",")
|
||||
hosts := make([]string, 0, len(parts))
|
||||
for _, part := range parts {
|
||||
if h := strings.TrimSpace(part); h != "" {
|
||||
hosts = append(hosts, h)
|
||||
}
|
||||
}
|
||||
return hosts
|
||||
}
|
||||
|
||||
// errNegativeParam 表示查询参数解析出了负数。
|
||||
var errNegativeParam = errors.New("parameter must not be negative")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user