mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-13 06:40:41 +00:00
committed by
Benj Fassbind
parent
bece12ad4d
commit
e25ade8af3
+72
-60
@@ -51,6 +51,20 @@ func Router(c *ctx.AptlyContext) http.Handler {
|
|||||||
MetricsCollectorRegistrar.Register(router)
|
MetricsCollectorRegistrar.Register(router)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
router.GET("/repos/:storage/*pkgPath", func(c *gin.Context) {
|
||||||
|
pkgpath := c.Param("pkgPath")
|
||||||
|
|
||||||
|
storage := c.Param("storage")
|
||||||
|
if storage == "-" {
|
||||||
|
storage = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath := context.GetPublishedStorage("filesystem:" + storage).(aptly.FileSystemPublishedStorage).PublicPath()
|
||||||
|
|
||||||
|
c.FileFromFS(pkgpath, http.Dir(publicPath))
|
||||||
|
})
|
||||||
|
|
||||||
|
api := router.Group("/api")
|
||||||
if context.Flags().Lookup("no-lock").Value.Get().(bool) {
|
if context.Flags().Lookup("no-lock").Value.Get().(bool) {
|
||||||
// We use a goroutine to count the number of
|
// We use a goroutine to count the number of
|
||||||
// concurrent requests. When no more requests are
|
// concurrent requests. When no more requests are
|
||||||
@@ -59,7 +73,7 @@ func Router(c *ctx.AptlyContext) http.Handler {
|
|||||||
|
|
||||||
go acquireDatabase()
|
go acquireDatabase()
|
||||||
|
|
||||||
router.Use(func(c *gin.Context) {
|
api.Use(func(c *gin.Context) {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
errCh := make(chan error)
|
errCh := make(chan error)
|
||||||
@@ -83,107 +97,105 @@ func Router(c *ctx.AptlyContext) http.Handler {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
root := router.Group("/api")
|
|
||||||
|
|
||||||
{
|
{
|
||||||
if c.Config().EnableMetricsEndpoint {
|
if c.Config().EnableMetricsEndpoint {
|
||||||
root.GET("/metrics", apiMetricsGet())
|
api.GET("/metrics", apiMetricsGet())
|
||||||
}
|
}
|
||||||
root.GET("/version", apiVersion)
|
api.GET("/version", apiVersion)
|
||||||
|
|
||||||
isReady := &atomic.Value{}
|
isReady := &atomic.Value{}
|
||||||
isReady.Store(false)
|
isReady.Store(false)
|
||||||
defer isReady.Store(true)
|
defer isReady.Store(true)
|
||||||
root.GET("/ready", apiReady(isReady))
|
api.GET("/ready", apiReady(isReady))
|
||||||
root.GET("/healthy", apiHealthy)
|
api.GET("/healthy", apiHealthy)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/repos", apiReposList)
|
api.GET("/repos", apiReposList)
|
||||||
root.POST("/repos", apiReposCreate)
|
api.POST("/repos", apiReposCreate)
|
||||||
root.GET("/repos/:name", apiReposShow)
|
api.GET("/repos/:name", apiReposShow)
|
||||||
root.PUT("/repos/:name", apiReposEdit)
|
api.PUT("/repos/:name", apiReposEdit)
|
||||||
root.DELETE("/repos/:name", apiReposDrop)
|
api.DELETE("/repos/:name", apiReposDrop)
|
||||||
|
|
||||||
root.GET("/repos/:name/packages", apiReposPackagesShow)
|
api.GET("/repos/:name/packages", apiReposPackagesShow)
|
||||||
root.POST("/repos/:name/packages", apiReposPackagesAdd)
|
api.POST("/repos/:name/packages", apiReposPackagesAdd)
|
||||||
root.DELETE("/repos/:name/packages", apiReposPackagesDelete)
|
api.DELETE("/repos/:name/packages", apiReposPackagesDelete)
|
||||||
|
|
||||||
root.POST("/repos/:name/file/:dir/:file", apiReposPackageFromFile)
|
api.POST("/repos/:name/file/:dir/:file", apiReposPackageFromFile)
|
||||||
root.POST("/repos/:name/file/:dir", apiReposPackageFromDir)
|
api.POST("/repos/:name/file/:dir", apiReposPackageFromDir)
|
||||||
|
|
||||||
root.POST("/repos/:name/include/:dir/:file", apiReposIncludePackageFromFile)
|
api.POST("/repos/:name/include/:dir/:file", apiReposIncludePackageFromFile)
|
||||||
root.POST("/repos/:name/include/:dir", apiReposIncludePackageFromDir)
|
api.POST("/repos/:name/include/:dir", apiReposIncludePackageFromDir)
|
||||||
|
|
||||||
root.POST("/repos/:name/snapshots", apiSnapshotsCreateFromRepository)
|
api.POST("/repos/:name/snapshots", apiSnapshotsCreateFromRepository)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.POST("/mirrors/:name/snapshots", apiSnapshotsCreateFromMirror)
|
api.POST("/mirrors/:name/snapshots", apiSnapshotsCreateFromMirror)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/mirrors", apiMirrorsList)
|
api.GET("/mirrors", apiMirrorsList)
|
||||||
root.GET("/mirrors/:name", apiMirrorsShow)
|
api.GET("/mirrors/:name", apiMirrorsShow)
|
||||||
root.GET("/mirrors/:name/packages", apiMirrorsPackages)
|
api.GET("/mirrors/:name/packages", apiMirrorsPackages)
|
||||||
root.POST("/mirrors", apiMirrorsCreate)
|
api.POST("/mirrors", apiMirrorsCreate)
|
||||||
root.PUT("/mirrors/:name", apiMirrorsUpdate)
|
api.PUT("/mirrors/:name", apiMirrorsUpdate)
|
||||||
root.DELETE("/mirrors/:name", apiMirrorsDrop)
|
api.DELETE("/mirrors/:name", apiMirrorsDrop)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.POST("/gpg/key", apiGPGAddKey)
|
api.POST("/gpg/key", apiGPGAddKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/files", apiFilesListDirs)
|
api.GET("/files", apiFilesListDirs)
|
||||||
root.POST("/files/:dir", apiFilesUpload)
|
api.POST("/files/:dir", apiFilesUpload)
|
||||||
root.GET("/files/:dir", apiFilesListFiles)
|
api.GET("/files/:dir", apiFilesListFiles)
|
||||||
root.DELETE("/files/:dir", apiFilesDeleteDir)
|
api.DELETE("/files/:dir", apiFilesDeleteDir)
|
||||||
root.DELETE("/files/:dir/:name", apiFilesDeleteFile)
|
api.DELETE("/files/:dir/:name", apiFilesDeleteFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/publish", apiPublishList)
|
api.GET("/publish", apiPublishList)
|
||||||
root.POST("/publish", apiPublishRepoOrSnapshot)
|
api.POST("/publish", apiPublishRepoOrSnapshot)
|
||||||
root.POST("/publish/:prefix", apiPublishRepoOrSnapshot)
|
api.POST("/publish/:prefix", apiPublishRepoOrSnapshot)
|
||||||
root.PUT("/publish/:prefix/:distribution", apiPublishUpdateSwitch)
|
api.PUT("/publish/:prefix/:distribution", apiPublishUpdateSwitch)
|
||||||
root.DELETE("/publish/:prefix/:distribution", apiPublishDrop)
|
api.DELETE("/publish/:prefix/:distribution", apiPublishDrop)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/snapshots", apiSnapshotsList)
|
api.GET("/snapshots", apiSnapshotsList)
|
||||||
root.POST("/snapshots", apiSnapshotsCreate)
|
api.POST("/snapshots", apiSnapshotsCreate)
|
||||||
root.PUT("/snapshots/:name", apiSnapshotsUpdate)
|
api.PUT("/snapshots/:name", apiSnapshotsUpdate)
|
||||||
root.GET("/snapshots/:name", apiSnapshotsShow)
|
api.GET("/snapshots/:name", apiSnapshotsShow)
|
||||||
root.GET("/snapshots/:name/packages", apiSnapshotsSearchPackages)
|
api.GET("/snapshots/:name/packages", apiSnapshotsSearchPackages)
|
||||||
root.DELETE("/snapshots/:name", apiSnapshotsDrop)
|
api.DELETE("/snapshots/:name", apiSnapshotsDrop)
|
||||||
root.GET("/snapshots/:name/diff/:withSnapshot", apiSnapshotsDiff)
|
api.GET("/snapshots/:name/diff/:withSnapshot", apiSnapshotsDiff)
|
||||||
root.POST("/snapshots/merge", apiSnapshotsMerge)
|
api.POST("/snapshots/merge", apiSnapshotsMerge)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/packages/:key", apiPackagesShow)
|
api.GET("/packages/:key", apiPackagesShow)
|
||||||
root.GET("/packages", apiPackages)
|
api.GET("/packages", apiPackages)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
root.GET("/graph.:ext", apiGraph)
|
api.GET("/graph.:ext", apiGraph)
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
root.POST("/db/cleanup", apiDbCleanup)
|
api.POST("/db/cleanup", apiDbCleanup)
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
root.GET("/tasks", apiTasksList)
|
api.GET("/tasks", apiTasksList)
|
||||||
root.POST("/tasks-clear", apiTasksClear)
|
api.POST("/tasks-clear", apiTasksClear)
|
||||||
root.GET("/tasks-wait", apiTasksWait)
|
api.GET("/tasks-wait", apiTasksWait)
|
||||||
root.GET("/tasks/:id/wait", apiTasksWaitForTaskByID)
|
api.GET("/tasks/:id/wait", apiTasksWaitForTaskByID)
|
||||||
root.GET("/tasks/:id/output", apiTasksOutputShow)
|
api.GET("/tasks/:id/output", apiTasksOutputShow)
|
||||||
root.GET("/tasks/:id/detail", apiTasksDetailShow)
|
api.GET("/tasks/:id/detail", apiTasksDetailShow)
|
||||||
root.GET("/tasks/:id/return_value", apiTasksReturnValueShow)
|
api.GET("/tasks/:id/return_value", apiTasksReturnValueShow)
|
||||||
root.GET("/tasks/:id", apiTasksShow)
|
api.GET("/tasks/:id", apiTasksShow)
|
||||||
root.DELETE("/tasks/:id", apiTasksDelete)
|
api.DELETE("/tasks/:id", apiTasksDelete)
|
||||||
root.POST("/tasks-dummy", apiTasksDummy)
|
api.POST("/tasks-dummy", apiTasksDummy)
|
||||||
}
|
}
|
||||||
|
|
||||||
return router
|
return router
|
||||||
|
|||||||
Reference in New Issue
Block a user