package builder import ( "fmt" "os" ) // FusionMaxUploadBytes is the maximum prep / video upload size for forge. const FusionMaxUploadBytes int64 = 2 << 30 // 2 GiB // FusionDeliverablesDir is the project-root folder for per-title movie outputs. const FusionDeliverablesDir = "fusion-deliverables" // multipartMaxMemory is the ParseMultipartForm budget; must cover fusion prep uploads. const multipartMaxMemory = FusionMaxUploadBytes + 32<<20 // 2 GiB + 32 MiB headroom func (h *Handler) checkBuildSize(bytes int64) error { if h.policy.MaxBuildSizeMB <= 0 { return nil } maxBytes := int64(h.policy.MaxBuildSizeMB) * 1024 * 1024 if bytes > maxBytes { return fmt.Errorf("build exceeds max size (%d MB)", h.policy.MaxBuildSizeMB) } return nil } func (h *Handler) checkBuildSizeFile(path string) error { st, err := os.Stat(path) if err != nil { return err } return h.checkBuildSize(st.Size()) }