Sessions
This commit is contained in:
+34
-2
@@ -2,6 +2,8 @@ package task
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -27,6 +29,7 @@ func FetchAccessToken(tk Tasker) {
|
||||
payload.Set("redirect_uri", config.C().RedirectURI)
|
||||
|
||||
buf := bytes.NewBuffer([]byte(payload.Encode()))
|
||||
fmt.Println("Requesting token")
|
||||
resp, err := http.Post(config.C().AccessTokenURL, "application/x-www-form-urlencoded", buf)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@@ -38,7 +41,36 @@ func FetchAccessToken(tk Tasker) {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
pairs, _ := url.ParseQuery(string(body))
|
||||
fmt.Println(string(body))
|
||||
|
||||
t.Result <- pairs.Get("access_token")
|
||||
pairs, _ := url.ParseQuery(string(body))
|
||||
token := pairs.Get("access_token")
|
||||
fmt.Println("Got token: " + token)
|
||||
|
||||
fmt.Println("Requesting info")
|
||||
resp, err = http.Get("https://api.github.com/user?access_token=" + token)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
body, err = ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(string(body))
|
||||
|
||||
user := &db.User{}
|
||||
json.Unmarshal(body, &user)
|
||||
user.Save()
|
||||
fmt.Println("Saving user", user)
|
||||
|
||||
tok := &db.Token{
|
||||
User: user.Login,
|
||||
Token: token,
|
||||
}
|
||||
fmt.Println("Saving token", tok)
|
||||
tok.Save()
|
||||
|
||||
t.Result <- user.Login
|
||||
}
|
||||
|
||||
+3
-2
@@ -24,10 +24,11 @@ func saveResponseMeta(token string, res *github.Response) {
|
||||
if res == nil {
|
||||
return
|
||||
}
|
||||
db.UpdateToken(&db.Token{
|
||||
tok := &db.Token{
|
||||
Token: token,
|
||||
Limit: res.Limit,
|
||||
Remaining: res.Remaining,
|
||||
ResetAt: res.Reset.Time,
|
||||
})
|
||||
}
|
||||
tok.Save()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user