mirror of
https://github.com/tobychui/zoraxy.git
synced 2025-09-18 18:19:50 +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
|
||||
requireAuth = !(*noauth)
|
||||
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() {
|
||||
ReverseProxtInit()
|
||||
}()
|
||||
@@ -134,7 +144,7 @@ func main() {
|
||||
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 {
|
||||
log.Fatal(err)
|
||||
|
Reference in New Issue
Block a user