feat: provider v0.1.10 — source_dir (zip внутри провайдера), убран archive провайдер из всех примеров

This commit is contained in:
“Naeel”
2026-03-09 17:45:45 +04:00
parent 6e236e5998
commit 5f913e9f25
16 changed files with 148 additions and 170 deletions
+7 -2
View File
@@ -194,14 +194,19 @@ func (c *Client) UploadCode(ctx context.Context, ns, name, zipPath string) error
return fmt.Errorf("open zip %q: %w", zipPath, err)
}
defer f.Close()
return c.UploadCodeReader(ctx, ns, name, filepath.Base(zipPath), f)
}
// UploadCodeReader — загружает код из произвольного io.Reader (например in-memory zip).
// filename используется только как имя файла в multipart-форме.
func (c *Client) UploadCodeReader(ctx context.Context, ns, name, filename string, r io.Reader) error {
var buf bytes.Buffer
mw := multipart.NewWriter(&buf)
fw, err := mw.CreateFormFile("code", filepath.Base(zipPath))
fw, err := mw.CreateFormFile("code", filename)
if err != nil {
return fmt.Errorf("create form file: %w", err)
}
if _, err := io.Copy(fw, f); err != nil {
if _, err := io.Copy(fw, r); err != nil {
return fmt.Errorf("copy zip: %w", err)
}
mw.Close()