2018-01-02 22:04:48 -08:00
|
|
|
// Copyright 2018 Frédéric Guillot. All rights reserved.
|
2017-11-19 21:10:04 -08:00
|
|
|
// Use of this source code is governed by the Apache 2.0
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2018-08-24 21:51:50 -07:00
|
|
|
package daemon // import "miniflux.app/daemon"
|
2017-11-19 21:10:04 -08:00
|
|
|
|
|
|
|
import (
|
2018-08-24 21:51:50 -07:00
|
|
|
"miniflux.app/api"
|
|
|
|
"miniflux.app/config"
|
|
|
|
"miniflux.app/fever"
|
|
|
|
"miniflux.app/middleware"
|
|
|
|
"miniflux.app/reader/feed"
|
|
|
|
"miniflux.app/scheduler"
|
|
|
|
"miniflux.app/storage"
|
|
|
|
"miniflux.app/ui"
|
2017-11-19 21:10:04 -08:00
|
|
|
|
|
|
|
"github.com/gorilla/mux"
|
|
|
|
)
|
|
|
|
|
2018-09-22 15:04:55 -07:00
|
|
|
func routes(cfg *config.Config, store *storage.Storage, feedHandler *feed.Handler, pool *scheduler.WorkerPool) *mux.Router {
|
2017-11-19 21:10:04 -08:00
|
|
|
router := mux.NewRouter()
|
2018-04-27 20:38:46 -07:00
|
|
|
middleware := middleware.New(cfg, store, router)
|
2017-11-19 21:10:04 -08:00
|
|
|
|
2018-02-03 15:33:17 -08:00
|
|
|
if cfg.BasePath() != "" {
|
|
|
|
router = router.PathPrefix(cfg.BasePath()).Subrouter()
|
|
|
|
}
|
|
|
|
|
2018-09-09 15:15:14 -07:00
|
|
|
router.Use(middleware.ClientIP)
|
2018-04-27 22:25:00 -07:00
|
|
|
router.Use(middleware.HeaderConfig)
|
2018-04-27 20:38:46 -07:00
|
|
|
router.Use(middleware.Logging)
|
2017-11-19 21:10:04 -08:00
|
|
|
|
2018-11-11 09:52:12 -08:00
|
|
|
fever.Serve(router, cfg, store)
|
2018-11-11 10:22:47 -08:00
|
|
|
api.Serve(router, store, feedHandler)
|
2018-11-11 11:28:29 -08:00
|
|
|
ui.Serve(router, cfg, store, pool, feedHandler)
|
2018-04-27 20:38:46 -07:00
|
|
|
|
2017-11-19 21:10:04 -08:00
|
|
|
return router
|
|
|
|
}
|