| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package filehelper
- import (
- log "github.com/sirupsen/logrus"
- "os"
- "sync"
- )
- var writeFileMutex sync.Mutex
- func WriteFile(filename string, out []byte) {
- writeFileMutex.Lock()
- defer writeFileMutex.Unlock()
- if _, err := os.Stat(filename); os.IsNotExist(err) {
- handle, err := os.Create(filename)
- handle.Close()
- if err != nil {
- log.WithFields(log.Fields{
- "error": err,
- }).Errorf("Failed to create %v", filename)
- return
- }
- }
- err := os.WriteFile(filename, out, 0600)
- if err != nil {
- log.WithFields(log.Fields{
- "error": err,
- }).Errorf("Failed to write session to %v", filename)
- return
- }
- }
|