refactor: split main.go into packages (internal/api, internal/fission, internal/runtime, cmd/server)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package runtime
|
||||
|
||||
import (
|
||||
"archive/zip"
|
||||
"bytes"
|
||||
)
|
||||
|
||||
// buildZip создаёт zip-архив с одним файлом fileName и содержимым content.
|
||||
// Вспомогательная функция: используется в buildScriptZip (PHP/Ruby/Perl),
|
||||
// а также как основа для buildGoSourceZip и buildJSDeployZip.
|
||||
func buildZip(fileName string, content []byte) ([]byte, error) {
|
||||
var buf bytes.Buffer
|
||||
zw := zip.NewWriter(&buf)
|
||||
|
||||
fw, err := zw.Create(fileName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if _, err := fw.Write(content); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := zw.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
Reference in New Issue
Block a user