mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
* Initial version - Add OpenAPI documentation generator - Update README.md to remove endpoint documentations * Adds new endpoints - Fixes build with swag - Adds new endpoints * Adds more endpoints documentation - Also removes swag from Dockerfile and build script * Finally adds all endpoints documentation * Initial version - Add OpenAPI documentation generator - Update README.md to remove endpoint documentations * Adds new endpoints - Fixes build with swag - Adds new endpoints * Adds more endpoints documentation - Also removes swag from Dockerfile and build script * Finally adds all endpoints documentation * Update README (#1) * Update README I completely redid the `README.md`. Now it's much easier to read and understand. --------- Co-authored-by: cocool97 <34218602+cocool97@users.noreply.github.com> * Improves documentation * Delete server/config.db * Update README.md * Update README.md * fix download in api docs * add api docs to web --------- Co-authored-by: Shadeov <144587546+shadeov@users.noreply.github.com> Co-authored-by: nikk gitanes <tsynik@gmail.com>
49 lines
1016 B
Go
49 lines
1016 B
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 query string true "Torrent hash"
|
|
// @Param id query string true "File index in torrent"
|
|
//
|
|
// @Produce json
|
|
// @Success 200 "Data returned from ffprobe"
|
|
// @Router /ffp [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)
|
|
}
|