616c6b1c62
Release Docker multi arch / docker (push) Has been cancelled
Test Install Script / Test Script Syntax (push) Has been cancelled
Test Install Script / Test on almalinux-10 (default) (push) Has been cancelled
Test Install Script / Test on almalinux-10 (root) (push) Has been cancelled
Test Install Script / Test on almalinux-8 (default) (push) Has been cancelled
Test Install Script / Test on almalinux-8 (root) (push) Has been cancelled
Test Install Script / Test on almalinux-9 (default) (push) Has been cancelled
Test Install Script / Test on almalinux-9 (root) (push) Has been cancelled
Test Install Script / Test on amazonlinux-2 (default) (push) Has been cancelled
Test Install Script / Test on amazonlinux-2 (root) (push) Has been cancelled
Test Install Script / Test on debian-11 (default) (push) Has been cancelled
Test Install Script / Test on debian-11 (root) (push) Has been cancelled
Test Install Script / Test on debian-12 (default) (push) Has been cancelled
Test Install Script / Test on debian-12 (root) (push) Has been cancelled
Test Install Script / Test on debian-13 (default) (push) Has been cancelled
Test Install Script / Test on debian-13 (root) (push) Has been cancelled
Test Install Script / Test on fedora-latest (default) (push) Has been cancelled
Test Install Script / Test on fedora-latest (root) (push) Has been cancelled
Test Install Script / Test on rocky-10 (default) (push) Has been cancelled
Test Install Script / Test on rocky-10 (root) (push) Has been cancelled
Test Install Script / Test on rocky-8 (default) (push) Has been cancelled
Test Install Script / Test on rocky-8 (root) (push) Has been cancelled
Test Install Script / Test on rocky-9 (default) (push) Has been cancelled
Test Install Script / Test on rocky-9 (root) (push) Has been cancelled
Test Install Script / Test on ubuntu-22.04 (default) (push) Has been cancelled
Test Install Script / Test on ubuntu-22.04 (root) (push) Has been cancelled
Test Install Script / Test on ubuntu-24.04 (default) (push) Has been cancelled
Test Install Script / Test on ubuntu-24.04 (root) (push) Has been cancelled
49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package api
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"server/ffprobe"
|
|
sets "server/settings"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// ffp godoc
|
|
//
|
|
// @Summary Gather informations using ffprobe
|
|
// @Description Gather informations using ffprobe.
|
|
//
|
|
// @Tags API
|
|
//
|
|
// @Param hash path string true "Torrent hash"
|
|
// @Param id path string true "File index in torrent"
|
|
//
|
|
// @Produce json
|
|
// @Success 200 "Data returned from ffprobe"
|
|
// @Router /ffp/{hash}/{id} [get]
|
|
func ffp(c *gin.Context) {
|
|
hash := c.Param("hash")
|
|
indexStr := c.Param("id")
|
|
|
|
if hash == "" || indexStr == "" {
|
|
c.AbortWithError(http.StatusNotFound, errors.New("link should not be empty"))
|
|
return
|
|
}
|
|
|
|
link := "http://127.0.0.1:" + sets.Port + "/play/" + hash + "/" + indexStr
|
|
if sets.Ssl {
|
|
link = "https://127.0.0.1:" + sets.SslPort + "/play/" + hash + "/" + indexStr
|
|
}
|
|
|
|
data, err := ffprobe.ProbeUrl(link)
|
|
if err != nil {
|
|
c.AbortWithError(http.StatusBadRequest, fmt.Errorf("error getting data: %v", err))
|
|
return
|
|
}
|
|
|
|
c.JSON(200, data)
|
|
}
|