aboutsummaryrefslogtreecommitdiffstats
path: root/auth/file_source.go
diff options
context:
space:
mode:
Diffstat (limited to 'auth/file_source.go')
-rw-r--r--auth/file_source.go85
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)
}