github.com/octohelm/cuekit@v0.0.0-20240424021256-e7df8d743066/pkg/mod/modregistry/util.go (about)

     1  package modregistry
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  	"path/filepath"
     7  )
     8  
     9  func copyFile(src string, dest string) error {
    10  	sf, err := os.OpenFile(src, os.O_RDONLY, os.ModePerm)
    11  	if err != nil {
    12  		return err
    13  	}
    14  	defer sf.Close()
    15  	return putFileContents(dest, sf)
    16  }
    17  
    18  func putFileContents(filename string, r io.Reader) error {
    19  	if err := os.MkdirAll(filepath.Dir(filename), os.ModePerm); err != nil {
    20  		return err
    21  	}
    22  	df, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, os.ModePerm)
    23  	if err != nil {
    24  		return err
    25  	}
    26  	defer df.Close()
    27  	_, err = io.Copy(df, r)
    28  	return nil
    29  }
    30  
    31  func getEnv(name string, defaultValue string) string {
    32  	if value := os.Getenv(name); value != "" {
    33  		return value
    34  	}
    35  	return defaultValue
    36  }