mirror of
https://github.com/tobychui/zoraxy.git
synced 2025-09-19 18:49:43 +02:00
fix issue #819
fixes issue #819 by putting the plugin API on a separate mux that is not wrapped in the CSRF middleware
This commit is contained in:
16
src/main.go
16
src/main.go
@@ -115,9 +115,19 @@ func main() {
|
|||||||
//Initiate management interface APIs
|
//Initiate management interface APIs
|
||||||
requireAuth = !(*noauth)
|
requireAuth = !(*noauth)
|
||||||
initAPIs(webminPanelMux)
|
initAPIs(webminPanelMux)
|
||||||
initRestAPI(webminPanelMux)
|
|
||||||
|
|
||||||
//Start the reverse proxy server in go routine
|
// Create a new plugin API mux
|
||||||
|
pluginAPIMux := http.NewServeMux()
|
||||||
|
initRestAPI(pluginAPIMux)
|
||||||
|
|
||||||
|
// Create a parent mux to route /plugin endpoints without CSRF, others with CSRF
|
||||||
|
parentMux := http.NewServeMux()
|
||||||
|
// /plugin (rest API) endpoints: no CSRF
|
||||||
|
parentMux.Handle("/plugin/", pluginAPIMux)
|
||||||
|
// all other endpoints: with CSRF
|
||||||
|
parentMux.Handle("/", csrfMiddleware(webminPanelMux))
|
||||||
|
|
||||||
|
// Start the reverse proxy server in go routine
|
||||||
go func() {
|
go func() {
|
||||||
ReverseProxtInit()
|
ReverseProxtInit()
|
||||||
}()
|
}()
|
||||||
@@ -134,7 +144,7 @@ func main() {
|
|||||||
SystemWideLogger.Println(SYSTEM_NAME + " started. Visit control panel at http://" + *webUIPort)
|
SystemWideLogger.Println(SYSTEM_NAME + " started. Visit control panel at http://" + *webUIPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = http.ListenAndServe(*webUIPort, csrfMiddleware(webminPanelMux))
|
err = http.ListenAndServe(*webUIPort, parentMux)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
Reference in New Issue
Block a user