mirror of
				https://github.com/mickael-kerjean/filestash.git
				synced 2025-10-31 01:58:11 +08:00 
			
		
		
		
	cleanup (main): cleanup server main func
This commit is contained in:
		| @ -26,8 +26,10 @@ func main() { | |||||||
| } | } | ||||||
|  |  | ||||||
| func Init(a *App) { | func Init(a *App) { | ||||||
| 	var middlewares []Middleware | 	var ( | ||||||
| 	r := mux.NewRouter() | 		r           *mux.Router = mux.NewRouter() | ||||||
|  | 		middlewares []Middleware | ||||||
|  | 	) | ||||||
|  |  | ||||||
| 	// API for Session | 	// API for Session | ||||||
| 	session := r.PathPrefix("/api/session").Subrouter() | 	session := r.PathPrefix("/api/session").Subrouter() | ||||||
| @ -41,7 +43,7 @@ func Init(a *App) { | |||||||
| 	session.HandleFunc("/auth/{service}", NewMiddlewareChain(SessionOAuthBackend, middlewares, *a)).Methods("GET") | 	session.HandleFunc("/auth/{service}", NewMiddlewareChain(SessionOAuthBackend, middlewares, *a)).Methods("GET") | ||||||
| 	session.HandleFunc("/auth/", NewMiddlewareChain(SessionAuthMiddleware, middlewares, *a)).Methods("GET", "POST") | 	session.HandleFunc("/auth/", NewMiddlewareChain(SessionAuthMiddleware, middlewares, *a)).Methods("GET", "POST") | ||||||
|  |  | ||||||
| 	// API for admin | 	// API for Admin Console | ||||||
| 	middlewares = []Middleware{ApiHeaders, SecureAjax} | 	middlewares = []Middleware{ApiHeaders, SecureAjax} | ||||||
| 	admin := r.PathPrefix("/admin/api").Subrouter() | 	admin := r.PathPrefix("/admin/api").Subrouter() | ||||||
| 	admin.HandleFunc("/session", NewMiddlewareChain(AdminSessionGet, middlewares, *a)).Methods("GET") | 	admin.HandleFunc("/session", NewMiddlewareChain(AdminSessionGet, middlewares, *a)).Methods("GET") | ||||||
| @ -68,10 +70,6 @@ func Init(a *App) { | |||||||
| 	middlewares = []Middleware{ApiHeaders, SessionStart, LoggedInOnly} | 	middlewares = []Middleware{ApiHeaders, SessionStart, LoggedInOnly} | ||||||
| 	files.HandleFunc("/search", NewMiddlewareChain(FileSearch, middlewares, *a)).Methods("GET") | 	files.HandleFunc("/search", NewMiddlewareChain(FileSearch, middlewares, *a)).Methods("GET") | ||||||
|  |  | ||||||
| 	// API for exporter |  | ||||||
| 	middlewares = []Middleware{ApiHeaders, SecureHeaders, RedirectSharedLoginIfNeeded, SessionStart, LoggedInOnly} |  | ||||||
| 	r.PathPrefix("/api/export/{share}/{mtype0}/{mtype1}").Handler(NewMiddlewareChain(FileExport, middlewares, *a)) |  | ||||||
|  |  | ||||||
| 	// API for Shared link | 	// API for Shared link | ||||||
| 	share := r.PathPrefix("/api/share").Subrouter() | 	share := r.PathPrefix("/api/share").Subrouter() | ||||||
| 	middlewares = []Middleware{ApiHeaders, SecureHeaders, SecureAjax, SessionStart, LoggedInOnly} | 	middlewares = []Middleware{ApiHeaders, SecureHeaders, SecureAjax, SessionStart, LoggedInOnly} | ||||||
| @ -88,6 +86,8 @@ func Init(a *App) { | |||||||
| 	r.HandleFunc("/s/{share}", NewMiddlewareChain(IndexHandler(FILE_INDEX), middlewares, *a)).Methods("GET") | 	r.HandleFunc("/s/{share}", NewMiddlewareChain(IndexHandler(FILE_INDEX), middlewares, *a)).Methods("GET") | ||||||
| 	middlewares = []Middleware{WebdavBlacklist, SessionStart} | 	middlewares = []Middleware{WebdavBlacklist, SessionStart} | ||||||
| 	r.PathPrefix("/s/{share}").Handler(NewMiddlewareChain(WebdavHandler, middlewares, *a)) | 	r.PathPrefix("/s/{share}").Handler(NewMiddlewareChain(WebdavHandler, middlewares, *a)) | ||||||
|  | 	middlewares = []Middleware{ApiHeaders, SecureHeaders, RedirectSharedLoginIfNeeded, SessionStart, LoggedInOnly} | ||||||
|  | 	r.PathPrefix("/api/export/{share}/{mtype0}/{mtype1}").Handler(NewMiddlewareChain(FileExport, middlewares, *a)) | ||||||
|  |  | ||||||
| 	// Application Resources | 	// Application Resources | ||||||
| 	middlewares = []Middleware{ApiHeaders} | 	middlewares = []Middleware{ApiHeaders} | ||||||
| @ -174,7 +174,7 @@ func initDebugRoutes(r *mux.Router) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func initPluginsRoutes(r *mux.Router, a *App) { | func initPluginsRoutes(r *mux.Router, a *App) { | ||||||
| 	// Endpoints hanle by plugins | 	// Endpoints handle by plugins | ||||||
| 	for _, obj := range Hooks.Get.HttpEndpoint() { | 	for _, obj := range Hooks.Get.HttpEndpoint() { | ||||||
| 		obj(r, a) | 		obj(r, a) | ||||||
| 	} | 	} | ||||||
| @ -185,7 +185,7 @@ func initPluginsRoutes(r *mux.Router, a *App) { | |||||||
| 			res.Write([]byte(fmt.Sprintf("/* Default '%s' */", obj))) | 			res.Write([]byte(fmt.Sprintf("/* Default '%s' */", obj))) | ||||||
| 		}) | 		}) | ||||||
| 	} | 	} | ||||||
| 	// map which file can be open with what application | 	// map file types to application handler | ||||||
| 	r.HandleFunc("/overrides/xdg-open.js", func(res http.ResponseWriter, req *http.Request) { | 	r.HandleFunc("/overrides/xdg-open.js", func(res http.ResponseWriter, req *http.Request) { | ||||||
| 		res.Header().Set("Content-Type", GetMimeType(req.URL.String())) | 		res.Header().Set("Content-Type", GetMimeType(req.URL.String())) | ||||||
| 		res.Write([]byte(`window.overrides["xdg-open"] = function(mime){`)) | 		res.Write([]byte(`window.overrides["xdg-open"] = function(mime){`)) | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Mickael Kerjean
					Mickael Kerjean