| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | package controllerimport (	"github.com/gin-gonic/gin"	runner_types "github.com/langgenius/dify-sandbox/internal/core/runner/types"	"github.com/langgenius/dify-sandbox/internal/service"	"github.com/langgenius/dify-sandbox/internal/types")func RunSandboxController(c *gin.Context) {	BindRequest(c, func(req struct {		Language      string `json:"language" form:"language" binding:"required"`		Code          string `json:"code" form:"code" binding:"required"`		Preload       string `json:"preload" form:"preload"`		EnableNetwork bool   `json:"enable_network" form:"enable_network"`	}) {		switch req.Language {		case "python3":			c.JSON(200, service.RunPython3Code(req.Code, req.Preload, &runner_types.RunnerOptions{				EnableNetwork: req.EnableNetwork,			}))		case "nodejs":			c.JSON(200, service.RunNodeJsCode(req.Code, req.Preload, &runner_types.RunnerOptions{				EnableNetwork: req.EnableNetwork,			}))		default:			c.JSON(400, types.ErrorResponse(-400, "unsupported language"))		}	})}func GetDependencies(c *gin.Context) {	BindRequest(c, func(req struct {		Language string `json:"language" form:"language" binding:"required"`	}) {		switch req.Language {		case "python3":			c.JSON(200, service.ListPython3Dependencies())		default:			c.JSON(400, types.ErrorResponse(-400, "unsupported language"))		}	})}func UpdateDependencies(c *gin.Context) {	BindRequest(c, func(req struct {		Language string `json:"language" form:"language" binding:"required"`	}) {		switch req.Language {		case "python3":			c.JSON(200, service.UpdateDependencies())		default:			c.JSON(400, types.ErrorResponse(-400, "unsupported language"))		}	})}
 |