upgrade to .todo. inbox
This commit is contained in:
69
config.go
69
config.go
@@ -1,15 +1,11 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"gogs.inhome.blapointe.com/local/args"
|
||||
"gogs.inhome.blapointe.com/local/oauth2"
|
||||
"gogs.inhome.blapointe.com/local/storage"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"gitea.inhome.blapointe.com/local/args"
|
||||
"gitea.inhome.blapointe.com/local/storage"
|
||||
)
|
||||
|
||||
type Uploader int
|
||||
@@ -124,64 +120,9 @@ func NewConfig() Config {
|
||||
}
|
||||
|
||||
func getToken(as *args.ArgSet) string {
|
||||
c := &http.Client{CheckRedirect: func(r *http.Request, via []*http.Request) error {
|
||||
return http.ErrUseLastResponse
|
||||
}}
|
||||
body := "username=" + as.GetString("todopass")
|
||||
name := strings.Split(as.GetString("todoaddr"), ".")[0]
|
||||
name = strings.TrimPrefix(name, "http://")
|
||||
name = strings.TrimPrefix(name, "https://")
|
||||
req, err := http.NewRequest("POST", as.GetString("authaddr")+"/authorize/"+name+"?"+oauth2.REDIRECT+"=127.0.0.1", strings.NewReader(body))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
resp, err := c.Do(req)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
if resp.StatusCode > 399 {
|
||||
panic("bad status getting token: " + resp.Status)
|
||||
}
|
||||
cookie := resp.Header.Get("Set-Cookie")
|
||||
token := cookie[strings.Index(cookie, "=")+1:]
|
||||
token = strings.Split(token, "; ")[0]
|
||||
if len(token) == 0 {
|
||||
panic(fmt.Sprintf("no token found: (%v) %v", resp.StatusCode, resp.Header))
|
||||
}
|
||||
return token
|
||||
panic("DEAD")
|
||||
}
|
||||
|
||||
func getList(as *args.ArgSet, token string) string {
|
||||
req, err := http.NewRequest("GET", as.GetString("todoaddr")+"/ajax.php?loadLists", nil)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
req.Header.Set("Cookie", oauth2.COOKIE+"="+token)
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
var r struct {
|
||||
List []struct {
|
||||
ID string `json:"id"`
|
||||
} `json:"list"`
|
||||
}
|
||||
b, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := json.Unmarshal(b, &r); err != nil {
|
||||
panic(fmt.Errorf("%v: %s", err, b))
|
||||
}
|
||||
if len(r.List) == 0 {
|
||||
panic("no lists found")
|
||||
}
|
||||
list := r.List[0].ID
|
||||
if len(list) == 0 {
|
||||
panic("empty list found")
|
||||
}
|
||||
return list
|
||||
panic("DEAD")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user