diff options
Diffstat (limited to 'auth/file_source.go')
| -rw-r--r-- | auth/file_source.go | 85 | 
1 files changed, 42 insertions, 43 deletions
| diff --git a/auth/file_source.go b/auth/file_source.go index 1c1150b..5200203 100644 --- a/auth/file_source.go +++ b/auth/file_source.go @@ -1,68 +1,67 @@  package auth  import ( -    "golang.org/x/oauth2" -    "encoding/json" -    "os" -    "io/ioutil" +	"encoding/json" +	"golang.org/x/oauth2" +	"io/ioutil" +	"os"  ) -  func FileSource(path string, token *oauth2.Token, conf *oauth2.Config) oauth2.TokenSource { -    return &fileSource{ -        tokenPath: path, -        tokenSource: conf.TokenSource(oauth2.NoContext, token), -    } +	return &fileSource{ +		tokenPath:   path, +		tokenSource: conf.TokenSource(oauth2.NoContext, token), +	}  }  type fileSource struct { -    tokenPath string -    tokenSource oauth2.TokenSource +	tokenPath   string +	tokenSource oauth2.TokenSource  }  func (self *fileSource) Token() (*oauth2.Token, error) { -    token, err := self.tokenSource.Token() -    if err != nil { -        return token, err -    } +	token, err := self.tokenSource.Token() +	if err != nil { +		return token, err +	} -    // Save token to file -    SaveToken(self.tokenPath, token) +	// Save token to file +	SaveToken(self.tokenPath, token) -    return token, nil +	return token, nil  }  func ReadToken(path string) (*oauth2.Token, bool, error) { -    if !fileExists(path) { -        return nil, false, nil -    } +	if !fileExists(path) { +		return nil, false, nil +	} -    content, err := ioutil.ReadFile(path) -    if err != nil { -        return nil, true, err -    } -    token := &oauth2.Token{} -    return token, true, json.Unmarshal(content, token) +	content, err := ioutil.ReadFile(path) +	if err != nil { +		return nil, true, err +	} +	token := &oauth2.Token{} +	return token, true, json.Unmarshal(content, token)  }  func SaveToken(path string, token *oauth2.Token) error { -    data, err := json.MarshalIndent(token, "", "  ") -    if err != nil { -        return err -    } +	data, err := json.MarshalIndent(token, "", "  ") +	if err != nil { +		return err +	} -    if err = mkdir(path); err != nil { -        return err -    } +	if err = mkdir(path); err != nil { +		return err +	} -    // Write to temp file first -    tmpFile := path + ".tmp" -    err = ioutil.WriteFile(tmpFile, data, 0600) -    if err != nil { -        os.Remove(tmpFile) -        return err -    } +	// Write to temp file first +	tmpFile := path + ".tmp" +	err = ioutil.WriteFile(tmpFile, data, 0600) +	if err != nil { +		os.Remove(tmpFile) +		return err +	} -    // Move file to correct path -    return os.Rename(tmpFile, path) +	// Move file to correct path +	return os.Rename(tmpFile, path)  } | 
