From 9f65284ba1c67c20de1ccd7a5af80aa64c3575f7 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 22 Feb 2017 21:32:39 -0500 Subject: Fix response for malformed command execute request (#5498) --- api/command.go | 4 ++++ api/command_invite_people.go | 3 ++- api/command_msg.go | 7 ++++--- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'api') diff --git a/api/command.go b/api/command.go index 7e0a1e232..c3a64702f 100644 --- a/api/command.go +++ b/api/command.go @@ -219,6 +219,10 @@ func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) { } func handleResponse(c *Context, w http.ResponseWriter, response *model.CommandResponse, commandArgs *model.CommandArgs, cmd *model.Command, builtIn bool) { + if c.Err != nil { + return + } + post := &model.Post{} post.ChannelId = commandArgs.ChannelId post.RootId = commandArgs.RootId diff --git a/api/command_invite_people.go b/api/command_invite_people.go index ef2449ebc..b8f1827b0 100644 --- a/api/command_invite_people.go +++ b/api/command_invite_people.go @@ -6,6 +6,7 @@ package api import ( "strings" + l4g "github.com/alecthomas/log4go" "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" @@ -55,7 +56,7 @@ func (me *InvitePeopleProvider) DoCommand(c *Context, args *model.CommandArgs, m } if err := app.InviteNewUsersToTeam(emailList, c.TeamId, c.Session.UserId, c.GetSiteURL()); err != nil { - c.Err = err + l4g.Error(err.Error()) return &model.CommandResponse{ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL, Text: c.T("api.command.invite_people.fail")} } diff --git a/api/command_msg.go b/api/command_msg.go index 0520bf7f6..f8c8fae1c 100644 --- a/api/command_msg.go +++ b/api/command_msg.go @@ -6,6 +6,7 @@ package api import ( "strings" + l4g "github.com/alecthomas/log4go" "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" ) @@ -50,7 +51,7 @@ func (me *msgProvider) DoCommand(c *Context, args *model.CommandArgs, message st var userProfile *model.User if result := <-app.Srv.Store.User().GetByUsername(targetUsername); result.Err != nil { - c.Err = result.Err + l4g.Error(result.Err.Error()) return &model.CommandResponse{Text: c.T("api.command_msg.missing.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } else { userProfile = result.Data.(*model.User) @@ -67,13 +68,13 @@ func (me *msgProvider) DoCommand(c *Context, args *model.CommandArgs, message st if channel := <-app.Srv.Store.Channel().GetByName(c.TeamId, channelName, true); channel.Err != nil { if channel.Err.Id == "store.sql_channel.get_by_name.missing.app_error" { if directChannel, err := app.CreateDirectChannel(c.Session.UserId, userProfile.Id); err != nil { - c.Err = err + l4g.Error(err.Error()) return &model.CommandResponse{Text: c.T("api.command_msg.dm_fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } else { targetChannelId = directChannel.Id } } else { - c.Err = channel.Err + l4g.Error(channel.Err.Error()) return &model.CommandResponse{Text: c.T("api.command_msg.dm_fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } } else { -- cgit v1.2.3-1-g7c22