From 78207dc0823431ba86fd9179df808b7ab90d97bb Mon Sep 17 00:00:00 2001 From: Petter Rasmussen Date: Sun, 21 Feb 2016 00:55:02 +0100 Subject: Rename --- auth/file_source.go | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++ auth/token.go | 68 ----------------------------------------------------- 2 files changed, 68 insertions(+), 68 deletions(-) create mode 100644 auth/file_source.go delete mode 100644 auth/token.go diff --git a/auth/file_source.go b/auth/file_source.go new file mode 100644 index 0000000..1c1150b --- /dev/null +++ b/auth/file_source.go @@ -0,0 +1,68 @@ +package auth + +import ( + "golang.org/x/oauth2" + "encoding/json" + "os" + "io/ioutil" +) + + +func FileSource(path string, token *oauth2.Token, conf *oauth2.Config) oauth2.TokenSource { + return &fileSource{ + tokenPath: path, + tokenSource: conf.TokenSource(oauth2.NoContext, token), + } +} + +type fileSource struct { + tokenPath string + tokenSource oauth2.TokenSource +} + +func (self *fileSource) Token() (*oauth2.Token, error) { + token, err := self.tokenSource.Token() + if err != nil { + return token, err + } + + // Save token to file + SaveToken(self.tokenPath, token) + + return token, nil +} + +func ReadToken(path string) (*oauth2.Token, bool, error) { + 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) +} + +func SaveToken(path string, token *oauth2.Token) error { + data, err := json.MarshalIndent(token, "", " ") + if 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 + } + + // Move file to correct path + return os.Rename(tmpFile, path) +} diff --git a/auth/token.go b/auth/token.go deleted file mode 100644 index 1c1150b..0000000 --- a/auth/token.go +++ /dev/null @@ -1,68 +0,0 @@ -package auth - -import ( - "golang.org/x/oauth2" - "encoding/json" - "os" - "io/ioutil" -) - - -func FileSource(path string, token *oauth2.Token, conf *oauth2.Config) oauth2.TokenSource { - return &fileSource{ - tokenPath: path, - tokenSource: conf.TokenSource(oauth2.NoContext, token), - } -} - -type fileSource struct { - tokenPath string - tokenSource oauth2.TokenSource -} - -func (self *fileSource) Token() (*oauth2.Token, error) { - token, err := self.tokenSource.Token() - if err != nil { - return token, err - } - - // Save token to file - SaveToken(self.tokenPath, token) - - return token, nil -} - -func ReadToken(path string) (*oauth2.Token, bool, error) { - 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) -} - -func SaveToken(path string, token *oauth2.Token) error { - data, err := json.MarshalIndent(token, "", " ") - if 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 - } - - // Move file to correct path - return os.Rename(tmpFile, path) -} -- cgit v1.2.3