| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | package streamsimport (	"github.com/0xJacky/Nginx-UI/api"	"github.com/0xJacky/Nginx-UI/internal/helper"	"github.com/0xJacky/Nginx-UI/internal/nginx"	"github.com/gin-gonic/gin"	"github.com/uozi-tech/cosy"	"net/http")func Duplicate(c *gin.Context) {	// Source name	name := c.Param("name")	// Destination name	var json struct {		Name string `json:"name" binding:"required"`	}	if !cosy.BindAndValid(c, &json) {		return	}	src := nginx.GetConfPath("streams-available", name)	dst := nginx.GetConfPath("streams-available", json.Name)	if helper.FileExists(dst) {		c.JSON(http.StatusNotAcceptable, gin.H{			"message": "File exists",		})		return	}	_, err := helper.CopyFile(src, dst)	if err != nil {		api.ErrHandler(c, err)		return	}	c.JSON(http.StatusOK, gin.H{		"dst": dst,	})}
 |