portainer/portainer

View on GitHub
api/filesystem/write.go

Summary

Maintainability
A
0 mins
Test Coverage
package filesystem

import (
    "os"
    "path/filepath"

    "github.com/pkg/errors"
)

// WriteToFile creates a file in the filesystem storage
func WriteToFile(dst string, content []byte) error {
    if err := os.MkdirAll(filepath.Dir(dst), 0744); err != nil {
        return errors.Wrapf(err, "failed to create filestructure for the path %q", dst)
    }

    file, err := os.Create(dst)
    if err != nil {
        return errors.Wrapf(err, "failed to open a file %q", dst)
    }
    defer file.Close()

    _, err = file.Write(content)
    return errors.Wrapf(err, "failed to write a file %q", dst)
}