X-Git-Url: https://git.octo.it/?p=kraftakt.git;a=blobdiff_plain;f=kraftakt.go;h=72389bd1430b36450a071d09d8a491597d4805d7;hp=a2b8b137e3d7484328d39c207325888403e008d5;hb=HEAD;hpb=428a91c3d1adc71f21d761bf9e96e7157b9d51c1 diff --git a/kraftakt.go b/kraftakt.go index a2b8b13..72389bd 100644 --- a/kraftakt.go +++ b/kraftakt.go @@ -258,13 +258,9 @@ func fitbitNotifyHandler(ctx context.Context, w http.ResponseWriter, r *http.Req // Fitbit recommendation: "If signature verification fails, you should // respond with a 404" if !fitbit.CheckSignature(ctx, data, r.Header.Get("X-Fitbit-Signature")) { - /* - log.Errorf(ctx, "signature mismatch") - w.WriteHeader(http.StatusNotFound) - return nil - */ - } else { - log.Warningf(ctx, "TODO(octo): re-enable signature checking, see https://community.fitbit.com/t5/Web-API-Development/Push-notification-signatures-are-currently-invalid/m-p/2496159") + log.Errorf(ctx, "signature mismatch") + w.WriteHeader(http.StatusNotFound) + return nil } if err := delayedHandleNotifications.Call(ctx, data); err != nil { @@ -491,6 +487,7 @@ func sleepNotification(ctx context.Context, s *fitbit.Subscription) error { if err != nil { return err } + log.Debugf(ctx, "fitbitClient.Sleep(%v) returned %d sleep stages", tm, len(sleep.Stages)) var activities []gfit.Activity for _, stg := range sleep.Stages { @@ -511,6 +508,8 @@ func sleepNotification(ctx context.Context, s *fitbit.Subscription) error { log.Warningf(ctx, "unexpected sleep level %v", stg.Level) continue } + + activities = append(activities, a) } wg.Wait() @@ -518,6 +517,7 @@ func sleepNotification(ctx context.Context, s *fitbit.Subscription) error { return gfitErr } + log.Debugf(ctx, "passing %d activities to gfitClient.SetActivities()", len(activities)) if err := gfitClient.SetActivities(ctx, activities, tm); err != nil { return fmt.Errorf("SetActivities() = %v", err) }