diff options
author | Corey Hulen <corey@hulen.com> | 2015-12-01 08:33:23 -0800 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2015-12-01 08:33:23 -0800 |
commit | e460bc2665ea3af927055f30727cb97952e64313 (patch) | |
tree | c3e98a2ca7c5d8ebf2ac298ef846734c1dc29a45 /api/post.go | |
parent | 62c96514bfa243029dba2d9b47b5b8a8322059e4 (diff) | |
parent | f5907e21cad055b241718d2bd1530bd4c22e77c7 (diff) | |
download | chat-e460bc2665ea3af927055f30727cb97952e64313.tar.gz chat-e460bc2665ea3af927055f30727cb97952e64313.tar.bz2 chat-e460bc2665ea3af927055f30727cb97952e64313.zip |
Merge pull request #1555 from mattermost/PLT-902
PLT-902 switching to push proxy server
Diffstat (limited to 'api/post.go')
-rw-r--r-- | api/post.go | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/api/post.go b/api/post.go index 88d0127d3..81cc9a1c6 100644 --- a/api/post.go +++ b/api/post.go @@ -536,7 +536,7 @@ func sendNotificationsAndForget(c *Context, post *model.Post, team *model.Team, l4g.Error("Failed to send mention email successfully email=%v err=%v", profileMap[id].Email, err) } - if len(utils.Cfg.EmailSettings.ApplePushServer) > 0 { + if *utils.Cfg.EmailSettings.SendPushNotifications { sessionChan := Srv.Store.Session().GetSessions(id) if result := <-sessionChan; result.Err != nil { l4g.Error("Failed to retrieve sessions in notifications id=%v, err=%v", id, result.Err) @@ -548,7 +548,19 @@ func sendNotificationsAndForget(c *Context, post *model.Post, team *model.Team, if len(session.DeviceId) > 0 && alreadySeen[session.DeviceId] == "" && strings.HasPrefix(session.DeviceId, "apple:") { alreadySeen[session.DeviceId] = session.DeviceId - utils.SendAppleNotifyAndForget(strings.TrimPrefix(session.DeviceId, "apple:"), subjectPage.Render(), 1) + msg := model.PushNotification{} + msg.Platform = model.PUSH_NOTIFY_APPLE + msg.Message = subjectPage.Render() + msg.Badge = 1 + msg.DeviceId = strings.TrimPrefix(session.DeviceId, "apple:") + msg.ServerId = utils.CfgDiagnosticId + + httpClient := http.Client{} + request, _ := http.NewRequest("POST", *utils.Cfg.EmailSettings.PushNotificationServer+"/api/v1/send_push", strings.NewReader(msg.ToJson())) + + if _, err := httpClient.Do(request); err != nil { + l4g.Error("Failed to send push notificationid=%v, err=%v", id, err) + } } } } |