Simplify web router code (#541)

This commit is contained in:
6543
2021-11-26 09:50:56 +01:00
committed by GitHub
parent c1a8884d62
commit 8b476e7722
9 changed files with 34 additions and 167 deletions

View File

@@ -35,10 +35,9 @@ func main() {
app.Usage = "woodpecker server"
app.Action = run
app.Flags = flags
app.Before = before
if err := app.Run(os.Args); err != nil {
fmt.Fprintln(os.Stderr, err)
_, _ = fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}

View File

@@ -45,8 +45,8 @@ import (
"github.com/woodpecker-ci/woodpecker/server/remote"
"github.com/woodpecker-ci/woodpecker/server/router"
"github.com/woodpecker-ci/woodpecker/server/router/middleware"
"github.com/woodpecker-ci/woodpecker/server/router/middleware/logger"
"github.com/woodpecker-ci/woodpecker/server/store"
"github.com/woodpecker-ci/woodpecker/server/web"
)
func run(c *cli.Context) error {
@@ -120,7 +120,7 @@ func run(c *cli.Context) error {
var webUIServe func(w http.ResponseWriter, r *http.Request)
if proxyWebUI == "" {
webUIServe = setupTree(c).ServeHTTP
webUIServe = web.New().ServeHTTP
} else {
origin, _ := url.Parse(proxyWebUI)
@@ -138,7 +138,7 @@ func run(c *cli.Context) error {
// setup the server and start the listener
handler := router.Load(
webUIServe,
logger.Logger(time.RFC3339, true),
middleware.Logger(time.RFC3339, true),
middleware.Version,
middleware.Config(c),
middleware.Store(c, store_),

View File

@@ -20,7 +20,6 @@ import (
"os"
"time"
"github.com/gin-gonic/gin"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/rs/zerolog/log"
@@ -43,7 +42,6 @@ import (
"github.com/woodpecker-ci/woodpecker/server/remote/gogs"
"github.com/woodpecker-ci/woodpecker/server/store"
"github.com/woodpecker-ci/woodpecker/server/store/datastore"
"github.com/woodpecker-ci/woodpecker/server/web"
)
func setupStore(c *cli.Context) (store.Store, error) {
@@ -303,18 +301,6 @@ func setupCoding(c *cli.Context) (remote.Remote, error) {
return coding.New(opts)
}
func setupTree(c *cli.Context) *gin.Engine {
tree := gin.New()
tree.UseRawPath = true
web.New(
web.WithSync(time.Hour*72),
web.WithDocs(c.String("docs")),
).Register(tree)
return tree
}
func before(c *cli.Context) error { return nil }
func setupMetrics(g *errgroup.Group, store_ store.Store) {
pendingJobs := promauto.NewGauge(prometheus.GaugeOpts{
Namespace: "woodpecker",