add support for cloning git repos via gothub :D
このコミットが含まれているのは:
コミット
d96074580e
|
@ -15,6 +15,8 @@ import (
|
||||||
"github.com/gofiber/fiber/v2/middleware/cache"
|
"github.com/gofiber/fiber/v2/middleware/cache"
|
||||||
"github.com/gofiber/fiber/v2/middleware/compress"
|
"github.com/gofiber/fiber/v2/middleware/compress"
|
||||||
"github.com/gofiber/fiber/v2/middleware/limiter"
|
"github.com/gofiber/fiber/v2/middleware/limiter"
|
||||||
|
// For debugging purposes
|
||||||
|
// "github.com/gofiber/fiber/v2/middleware/logger"
|
||||||
"github.com/gofiber/fiber/v2/middleware/recover"
|
"github.com/gofiber/fiber/v2/middleware/recover"
|
||||||
"github.com/gofiber/template/html"
|
"github.com/gofiber/template/html"
|
||||||
|
|
||||||
|
@ -62,6 +64,10 @@ func Serve(port string) {
|
||||||
app.Use(cache.New(cache.Config{
|
app.Use(cache.New(cache.Config{
|
||||||
Expiration: 5 * time.Minute,
|
Expiration: 5 * time.Minute,
|
||||||
}))
|
}))
|
||||||
|
// For debugging purposes
|
||||||
|
// app.Use(logger.New(logger.Config{
|
||||||
|
// Format: "[${ip}]:${port} ${status} - ${method} ${path} ${queryParams}\n",
|
||||||
|
// }))
|
||||||
|
|
||||||
app.Use(compress.New(compress.Config{
|
app.Use(compress.New(compress.Config{
|
||||||
Level: compress.LevelBestSpeed, // 1
|
Level: compress.LevelBestSpeed, // 1
|
||||||
|
@ -124,6 +130,21 @@ func Serve(port string) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
app.Get("/:user/:repo", pages.HandleRepo)
|
app.Get("/:user/:repo", pages.HandleRepo)
|
||||||
|
app.Get("/:user/:repo/info/+", func(c *fiber.Ctx) error {
|
||||||
|
// This is needed but it looks like git doesn't send it. Or maybe i just shouldn't program at midnight
|
||||||
|
param := "?service=git-upload-pack"
|
||||||
|
if proxying == "true" {
|
||||||
|
utils.ProxyRequest(c, "https://github.com/"+c.Params("user")+"/"+c.Params("repo")+".git/info/"+c.Params("+")+param)
|
||||||
|
return nil
|
||||||
|
} else {
|
||||||
|
c.Redirect("https://github.com/" + c.Params("user") + "/" + c.Params("repo") + ".git/info/" + c.Params("+") + param)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
})
|
||||||
|
app.Post("/:user/:repo/git-upload-pack", func(c *fiber.Ctx) error {
|
||||||
|
utils.ProxyRequest(c, "https://github.com/"+c.Params("user")+"/"+c.Params("repo")+".git/git-upload-pack")
|
||||||
|
return nil
|
||||||
|
})
|
||||||
app.Get("/:user/:repo/blob/:branch/+", pages.FileView)
|
app.Get("/:user/:repo/blob/:branch/+", pages.FileView)
|
||||||
app.Get("/:user/:repo/tree/:branch/+", pages.DirView)
|
app.Get("/:user/:repo/tree/:branch/+", pages.DirView)
|
||||||
app.Get("/:user/:repo/tree/:branch", pages.HandleRepo)
|
app.Get("/:user/:repo/tree/:branch", pages.HandleRepo)
|
||||||
|
|
読み込み中…
新しいイシューから参照