almost posts now
This commit is contained in:
parent
ceb6d16dcf
commit
e2ab505b47
@ -9,12 +9,15 @@ import (
|
||||
"time"
|
||||
|
||||
"git.eeqj.de/sneak/goutil"
|
||||
"git.eeqj.de/sneak/mothership/apitypes"
|
||||
|
||||
// db driver:
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
const jsonContentType = "application/json; charset=utf-8"
|
||||
|
||||
func (hp *HistoryPoster) postURLs(ctx context.Context, cancel context.CancelFunc) {
|
||||
log.Info().Msg("finding history files")
|
||||
files, err := findHistoryFiles()
|
||||
@ -57,8 +60,48 @@ func (hp *HistoryPoster) processURLFromHistory(hi historyItem) {
|
||||
}
|
||||
|
||||
func (hp *HistoryPoster) postURL(hi historyItem) error {
|
||||
// FIXME
|
||||
// panic("unimplemented")
|
||||
|
||||
req := &apitypes.MothershipHistoryRequest{
|
||||
PSK: viper.GetString("PSK"),
|
||||
Visit: &apitypes.MothershipHistoryItem{
|
||||
LastVisitTime: hi.LastVisitTime.Format(time.RFC3339Nano),
|
||||
URL: hi.URL,
|
||||
}
|
||||
}
|
||||
|
||||
url := viper.GetString("APIURL")
|
||||
|
||||
reqBody := new(bytes.Buffer)
|
||||
|
||||
json.NewEncoder(reqBody).Encode(req)
|
||||
|
||||
res, err := http.Post(url, jsonContentType, reqBody)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("unable to POST url to mothership")
|
||||
return err
|
||||
}
|
||||
|
||||
if res.StatusCode != http.StatusOK {
|
||||
log.Error().
|
||||
Int("statuscode", res.StatusCode).
|
||||
Msg("unable to POST url to mothership")
|
||||
return err
|
||||
}
|
||||
|
||||
var apiresp apitypes.MothershipHistoryResponse
|
||||
err = json.NewDecoder(res.Body).Decode(&apiresp)
|
||||
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("unable to decode mothership response")
|
||||
return err
|
||||
}
|
||||
|
||||
if apiresp.Result != "ok" {
|
||||
log.Error().Msg("mothership response non-ok")
|
||||
return errors.New("mothership response non-ok")
|
||||
}
|
||||
|
||||
log.Info().Str("url",hi.URL).Msg("url sent to mothership")
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user