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/client"
|
||||||
"github.com/perfect-panel/server/internal/model/log"
|
"github.com/perfect-panel/server/internal/model/log"
|
||||||
"github.com/perfect-panel/server/internal/model/node"
|
"github.com/perfect-panel/server/internal/model/node"
|
||||||
|
"github.com/perfect-panel/server/internal/report"
|
||||||
|
|
||||||
"github.com/perfect-panel/server/internal/model/user"
|
"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,
|
Download: userSubscribe.Download,
|
||||||
Upload: userSubscribe.Upload,
|
Upload: userSubscribe.Upload,
|
||||||
Traffic: userSubscribe.Traffic,
|
Traffic: userSubscribe.Traffic,
|
||||||
SubscribeURL: l.getSubscribeV2URL(req.Token),
|
SubscribeURL: l.getSubscribeV2URL(),
|
||||||
}),
|
}),
|
||||||
adapter.WithParams(req.Params),
|
adapter.WithParams(req.Params),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger.Debugf("[SubscribeLogic] Building client config for user %d with URI %s", userSubscribe.UserId, l.getSubscribeV2URL())
|
||||||
|
|
||||||
// Get client config
|
// Get client config
|
||||||
adapterClient, err := a.Client()
|
adapterClient, err := a.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -144,17 +147,20 @@ func (l *SubscribeLogic) Handler(req *types.SubscribeRequest) (resp *types.Subsc
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *SubscribeLogic) getSubscribeV2URL(token string) string {
|
func (l *SubscribeLogic) getSubscribeV2URL() string {
|
||||||
if l.svc.Config.Subscribe.PanDomain {
|
|
||||||
return fmt.Sprintf("https://%s", l.ctx.Request.Host)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
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 != "" {
|
if l.svc.Config.Subscribe.SubscribeDomain != "" {
|
||||||
domains := strings.Split(l.svc.Config.Subscribe.SubscribeDomain, "\n")
|
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)
|
||||||
}
|
}
|
||||||
|
// use current request host
|
||||||
return fmt.Sprintf("https://%s%s?token=%s&", l.ctx.Request.Host, l.svc.Config.Subscribe.SubscribePath, token)
|
return fmt.Sprintf("https://%s%s", l.ctx.Request.Host, uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *SubscribeLogic) getUserSubscribe(token string) (*user.Subscribe, error) {
|
func (l *SubscribeLogic) getUserSubscribe(token string) (*user.Subscribe, error) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user