//nolint:dupl package api import ( "errors" "fmt" "net/http" "github.com/bluenviron/mediamtx/internal/conf" "github.com/gin-gonic/gin" ) func (a *API) onPathsList(ctx *gin.Context) { data, err := a.PathManager.APIPathsList() if err != nil { a.writeError(ctx, http.StatusInternalServerError, err) return } data.ItemCount = len(data.Items) pageCount, err := paginate(&data.Items, ctx.Query("itemsPerPage"), ctx.Query("page")) if err != nil { a.writeError(ctx, http.StatusBadRequest, err) return } data.PageCount = pageCount ctx.JSON(http.StatusOK, data) } func (a *API) onPathsGet(ctx *gin.Context) { pathName, ok := paramName(ctx) if !ok { a.writeError(ctx, http.StatusBadRequest, fmt.Errorf("invalid name")) return } data, err := a.PathManager.APIPathsGet(pathName) if err != nil { if errors.Is(err, conf.ErrPathNotFound) { a.writeError(ctx, http.StatusNotFound, err) } else { a.writeError(ctx, http.StatusInternalServerError, err) } return } ctx.JSON(http.StatusOK, data) }