mirror of
https://github.com/rclone/rclone.git
synced 2024-11-07 17:14:44 +01:00
webui: Fix broken webui because of plugins redirection
This commit is contained in:
parent
068cfdaa00
commit
6231beefc5
@ -389,7 +389,7 @@ func (s *Server) handleGet(w http.ResponseWriter, r *http.Request, path string)
|
|||||||
case s.files != nil:
|
case s.files != nil:
|
||||||
pluginsMatchResult := webgui.PluginsMatch.FindStringSubmatch(path)
|
pluginsMatchResult := webgui.PluginsMatch.FindStringSubmatch(path)
|
||||||
|
|
||||||
if s.opt.WebUI && pluginsMatchResult != nil {
|
if s.opt.WebUI && pluginsMatchResult != nil && len(pluginsMatchResult) > 2 {
|
||||||
ok := webgui.ServePluginOK(w, r, pluginsMatchResult)
|
ok := webgui.ServePluginOK(w, r, pluginsMatchResult)
|
||||||
if !ok {
|
if !ok {
|
||||||
r.URL.Path = fmt.Sprintf("/%s/%s/app/build/%s", pluginsMatchResult[1], pluginsMatchResult[2], pluginsMatchResult[3])
|
r.URL.Path = fmt.Sprintf("/%s/%s/app/build/%s", pluginsMatchResult[1], pluginsMatchResult[2], pluginsMatchResult[3])
|
||||||
|
@ -293,19 +293,20 @@ func ServePluginWithReferrerOK(w http.ResponseWriter, r *http.Request, path stri
|
|||||||
referrer := r.Referer()
|
referrer := r.Referer()
|
||||||
referrerPathMatch := referrerPathReg.FindStringSubmatch(referrer)
|
referrerPathMatch := referrerPathReg.FindStringSubmatch(referrer)
|
||||||
|
|
||||||
if referrerPathMatch != nil {
|
if referrerPathMatch != nil && len(referrerPathMatch) > 3 {
|
||||||
referrerPluginMatch := PluginsMatch.FindStringSubmatch(referrerPathMatch[4])
|
referrerPluginMatch := PluginsMatch.FindStringSubmatch(referrerPathMatch[4])
|
||||||
pluginKey := fmt.Sprintf("%s/%s", referrerPluginMatch[1], referrerPluginMatch[2])
|
if referrerPluginMatch != nil && len(referrerPluginMatch) > 2 {
|
||||||
currentPlugin, err := loadedPlugins.GetPluginByName(pluginKey)
|
pluginKey := fmt.Sprintf("%s/%s", referrerPluginMatch[1], referrerPluginMatch[2])
|
||||||
if err != nil {
|
currentPlugin, err := loadedPlugins.GetPluginByName(pluginKey)
|
||||||
return false
|
if err != nil {
|
||||||
}
|
return false
|
||||||
if referrerPluginMatch != nil && currentPlugin.Rclone.RedirectReferrer {
|
}
|
||||||
path = fmt.Sprintf("/plugins/%s/%s/%s", referrerPluginMatch[1], referrerPluginMatch[2], path)
|
if currentPlugin.Rclone.RedirectReferrer {
|
||||||
|
path = fmt.Sprintf("/plugins/%s/%s/%s", referrerPluginMatch[1], referrerPluginMatch[2], path)
|
||||||
|
|
||||||
http.Redirect(w, r, path, http.StatusMovedPermanently)
|
http.Redirect(w, r, path, http.StatusMovedPermanently)
|
||||||
//s.pluginsHandler.ServeHTTP(w, r)
|
return true
|
||||||
return true
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
Loading…
Reference in New Issue
Block a user