fix(subscribe): refactor getSubscribeV2URL to remove token parameter and adjust URL construction
This commit is contained in:
parent
24f3c29fad
commit
780e71441d
@ -10,6 +10,7 @@ import (
|
||||
"github.com/perfect-panel/server/internal/model/client"
|
||||
"github.com/perfect-panel/server/internal/model/log"
|
||||
"github.com/perfect-panel/server/internal/model/node"
|
||||
"github.com/perfect-panel/server/internal/report"
|
||||
|
||||
"github.com/perfect-panel/server/internal/model/user"
|
||||
|
||||
@ -106,11 +107,13 @@ func (l *SubscribeLogic) Handler(req *types.SubscribeRequest) (resp *types.Subsc
|
||||
Download: userSubscribe.Download,
|
||||
Upload: userSubscribe.Upload,
|
||||
Traffic: userSubscribe.Traffic,
|
||||
SubscribeURL: l.getSubscribeV2URL(req.Token),
|
||||
SubscribeURL: l.getSubscribeV2URL(),
|
||||
}),
|
||||
adapter.WithParams(req.Params),
|
||||
)
|
||||
|
||||
logger.Debugf("[SubscribeLogic] Building client config for user %d with URI %s", userSubscribe.UserId, l.getSubscribeV2URL())
|
||||
|
||||
// Get client config
|
||||
adapterClient, err := a.Client()
|
||||
if err != nil {
|
||||
@ -144,17 +147,20 @@ func (l *SubscribeLogic) Handler(req *types.SubscribeRequest) (resp *types.Subsc
|
||||
return
|
||||
}
|
||||
|
||||
func (l *SubscribeLogic) getSubscribeV2URL(token string) string {
|
||||
if l.svc.Config.Subscribe.PanDomain {
|
||||
return fmt.Sprintf("https://%s", l.ctx.Request.Host)
|
||||
}
|
||||
func (l *SubscribeLogic) getSubscribeV2URL() string {
|
||||
|
||||
uri := l.ctx.Request.RequestURI
|
||||
// is gateway mode, add /sub prefix
|
||||
if report.IsGatewayMode() {
|
||||
uri = "/sub" + uri
|
||||
}
|
||||
// use custom domain if configured
|
||||
if l.svc.Config.Subscribe.SubscribeDomain != "" {
|
||||
domains := strings.Split(l.svc.Config.Subscribe.SubscribeDomain, "\n")
|
||||
return fmt.Sprintf("https://%s%s?token=%s", domains[0], l.svc.Config.Subscribe.SubscribePath, token)
|
||||
return fmt.Sprintf("https://%s%s", domains[0], uri)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("https://%s%s?token=%s&", l.ctx.Request.Host, l.svc.Config.Subscribe.SubscribePath, token)
|
||||
// use current request host
|
||||
return fmt.Sprintf("https://%s%s", l.ctx.Request.Host, uri)
|
||||
}
|
||||
|
||||
func (l *SubscribeLogic) getUserSubscribe(token string) (*user.Subscribe, error) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user