From e85b5fb98835fb952eb2ed55f81e79eb3ef361ec Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Fri, 1 Sep 2017 16:42:02 +0100 Subject: App: NewLocAppError -> NewAppError (#7327) * App: NewLocAppError -> NewAppError * Remove statuscode that got missed. --- api4/system_test.go | 2 +- app/admin.go | 9 ++++--- app/channel.go | 53 +++++++++++++++++--------------------- app/compliance.go | 9 ++++--- app/email.go | 21 +++++++-------- app/email_batching.go | 5 ++-- app/emoji.go | 3 +-- app/import.go | 68 ++++++++++++++++++++++++------------------------- app/ldap.go | 5 ++-- app/login.go | 3 +-- app/oauth.go | 21 ++++++++------- app/post.go | 14 +++++----- app/saml.go | 11 ++++---- app/slackimport.go | 5 ++-- app/team.go | 10 +++----- app/user.go | 58 +++++++++++++++++++---------------------- app/webhook.go | 6 ++--- app/websocket_router.go | 9 ++++--- 18 files changed, 149 insertions(+), 163 deletions(-) diff --git a/api4/system_test.go b/api4/system_test.go index 004f94f96..0d8b3cec8 100644 --- a/api4/system_test.go +++ b/api4/system_test.go @@ -265,7 +265,7 @@ func TestEmailTest(t *testing.T) { _, resp = th.SystemAdminClient.TestEmail() CheckErrorMessage(t, resp, "api.admin.test_email.missing_server") - CheckInternalErrorStatus(t, resp) + CheckBadRequestStatus(t, resp) } func TestDatabaseRecycle(t *testing.T) { diff --git a/app/admin.go b/app/admin.go index b9e22a87f..6e6f8c604 100644 --- a/app/admin.go +++ b/app/admin.go @@ -17,6 +17,7 @@ import ( "github.com/mattermost/platform/model" "github.com/mattermost/platform/store" "github.com/mattermost/platform/utils" + "net/http" ) func GetLogs(page, perPage int) ([]string, *model.AppError) { @@ -57,7 +58,7 @@ func GetLogsSkipSend(page, perPage int) ([]string, *model.AppError) { if utils.Cfg.LogSettings.EnableFile { file, err := os.Open(utils.GetLogFileLocation(utils.Cfg.LogSettings.FileLocation)) if err != nil { - return nil, model.NewLocAppError("getLogs", "api.admin.file_read_error", nil, err.Error()) + return nil, model.NewAppError("getLogs", "api.admin.file_read_error", nil, err.Error(), http.StatusInternalServerError) } defer file.Close() @@ -153,7 +154,7 @@ func SaveConfig(cfg *model.Config, sendConfigChangeClusterMessage bool) *model.A } if *utils.Cfg.ClusterSettings.Enable && *utils.Cfg.ClusterSettings.ReadOnlyConfig { - return model.NewLocAppError("saveConfig", "ent.cluster.save_config.error", nil, "") + return model.NewAppError("saveConfig", "ent.cluster.save_config.error", nil, "", http.StatusForbidden) } utils.DisableConfigWatch() @@ -198,7 +199,7 @@ func RecycleDatabaseConnection() { func TestEmail(userId string, cfg *model.Config) *model.AppError { if len(cfg.EmailSettings.SMTPServer) == 0 { - return model.NewLocAppError("testEmail", "api.admin.test_email.missing_server", nil, utils.T("api.context.invalid_param.app_error", map[string]interface{}{"Name": "SMTPServer"})) + return model.NewAppError("testEmail", "api.admin.test_email.missing_server", nil, utils.T("api.context.invalid_param.app_error", map[string]interface{}{"Name": "SMTPServer"}), http.StatusBadRequest) } // if the user hasn't changed their email settings, fill in the actual SMTP password so that @@ -209,7 +210,7 @@ func TestEmail(userId string, cfg *model.Config) *model.AppError { cfg.EmailSettings.SMTPUsername == utils.Cfg.EmailSettings.SMTPUsername { cfg.EmailSettings.SMTPPassword = utils.Cfg.EmailSettings.SMTPPassword } else { - return model.NewLocAppError("testEmail", "api.admin.test_email.reenter_password", nil, "") + return model.NewAppError("testEmail", "api.admin.test_email.reenter_password", nil, "", http.StatusBadRequest) } } if user, err := GetUser(userId); err != nil { diff --git a/app/channel.go b/app/channel.go index a0684ddc8..3c8eaf771 100644 --- a/app/channel.go +++ b/app/channel.go @@ -429,14 +429,12 @@ func DeleteChannel(channel *model.Channel, userId string) *model.AppError { outgoingHooks := ohcresult.Data.([]*model.OutgoingWebhook) if channel.DeleteAt > 0 { - err := model.NewLocAppError("deleteChannel", "api.channel.delete_channel.deleted.app_error", nil, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("deleteChannel", "api.channel.delete_channel.deleted.app_error", nil, "", http.StatusBadRequest) return err } if channel.Name == model.DEFAULT_CHANNEL { - err := model.NewLocAppError("deleteChannel", "api.channel.delete_channel.cannot.app_error", map[string]interface{}{"Channel": model.DEFAULT_CHANNEL}, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("deleteChannel", "api.channel.delete_channel.cannot.app_error", map[string]interface{}{"Channel": model.DEFAULT_CHANNEL}, "", http.StatusBadRequest) return err } @@ -486,11 +484,11 @@ func DeleteChannel(channel *model.Channel, userId string) *model.AppError { func addUserToChannel(user *model.User, channel *model.Channel, teamMember *model.TeamMember) (*model.ChannelMember, *model.AppError) { if channel.DeleteAt > 0 { - return nil, model.NewLocAppError("AddUserToChannel", "api.channel.add_user_to_channel.deleted.app_error", nil, "") + return nil, model.NewAppError("AddUserToChannel", "api.channel.add_user_to_channel.deleted.app_error", nil, "", http.StatusBadRequest) } if channel.Type != model.CHANNEL_OPEN && channel.Type != model.CHANNEL_PRIVATE { - return nil, model.NewLocAppError("AddUserToChannel", "api.channel.add_user_to_channel.type.app_error", nil, "") + return nil, model.NewAppError("AddUserToChannel", "api.channel.add_user_to_channel.type.app_error", nil, "", http.StatusBadRequest) } cmchan := Srv.Store.Channel().GetMember(channel.Id, user.Id) @@ -512,7 +510,7 @@ func addUserToChannel(user *model.User, channel *model.Channel, teamMember *mode } if result := <-Srv.Store.Channel().SaveMember(newMember); result.Err != nil { l4g.Error("Failed to add member user_id=%v channel_id=%v err=%v", user.Id, channel.Id, result.Err) - return nil, model.NewLocAppError("AddUserToChannel", "api.channel.add_user.to.channel.failed.app_error", nil, "") + return nil, model.NewAppError("AddUserToChannel", "api.channel.add_user.to.channel.failed.app_error", nil, "", http.StatusInternalServerError) } WaitForChannelMembership(channel.Id, user.Id) @@ -532,7 +530,7 @@ func AddUserToChannel(user *model.User, channel *model.Channel) (*model.ChannelM } else { teamMember = result.Data.(*model.TeamMember) if teamMember.DeleteAt > 0 { - return nil, model.NewLocAppError("AddUserToChannel", "api.channel.add_user.to.channel.failed.deleted.app_error", nil, "") + return nil, model.NewAppError("AddUserToChannel", "api.channel.add_user.to.channel.failed.deleted.app_error", nil, "", http.StatusBadRequest) } } @@ -589,7 +587,7 @@ func AddChannelMember(userId string, channel *model.Channel, userRequestorId str func AddDirectChannels(teamId string, user *model.User) *model.AppError { var profiles []*model.User if result := <-Srv.Store.User().GetProfiles(teamId, 0, 100); result.Err != nil { - return model.NewLocAppError("AddDirectChannels", "api.user.add_direct_channels_and_forget.failed.error", map[string]interface{}{"UserId": user.Id, "TeamId": teamId, "Error": result.Err.Error()}, "") + return model.NewAppError("AddDirectChannels", "api.user.add_direct_channels_and_forget.failed.error", map[string]interface{}{"UserId": user.Id, "TeamId": teamId, "Error": result.Err.Error()}, "", http.StatusInternalServerError) } else { profiles = result.Data.([]*model.User) } @@ -616,7 +614,7 @@ func AddDirectChannels(teamId string, user *model.User) *model.AppError { } if result := <-Srv.Store.Preference().Save(&preferences); result.Err != nil { - return model.NewLocAppError("AddDirectChannels", "api.user.add_direct_channels_and_forget.failed.error", map[string]interface{}{"UserId": user.Id, "TeamId": teamId, "Error": result.Err.Error()}, "") + return model.NewAppError("AddDirectChannels", "api.user.add_direct_channels_and_forget.failed.error", map[string]interface{}{"UserId": user.Id, "TeamId": teamId, "Error": result.Err.Error()}, "", http.StatusInternalServerError) } return nil @@ -626,7 +624,7 @@ func PostUpdateChannelHeaderMessage(userId string, channel *model.Channel, oldCh uc := Srv.Store.User().Get(userId) if uresult := <-uc; uresult.Err != nil { - return model.NewLocAppError("PostUpdateChannelHeaderMessage", "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", nil, uresult.Err.Error()) + return model.NewAppError("PostUpdateChannelHeaderMessage", "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", nil, uresult.Err.Error(), http.StatusBadRequest) } else { user := uresult.Data.(*model.User) @@ -652,7 +650,7 @@ func PostUpdateChannelHeaderMessage(userId string, channel *model.Channel, oldCh } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("", "api.channel.post_update_channel_header_message_and_forget.post.error", nil, err.Error()) + return model.NewAppError("", "api.channel.post_update_channel_header_message_and_forget.post.error", nil, err.Error(), http.StatusInternalServerError) } } @@ -663,7 +661,7 @@ func PostUpdateChannelPurposeMessage(userId string, channel *model.Channel, oldC uc := Srv.Store.User().Get(userId) if uresult := <-uc; uresult.Err != nil { - return model.NewLocAppError("PostUpdateChannelPurposeMessage", "app.channel.post_update_channel_purpose_message.retrieve_user.error", nil, uresult.Err.Error()) + return model.NewAppError("PostUpdateChannelPurposeMessage", "app.channel.post_update_channel_purpose_message.retrieve_user.error", nil, uresult.Err.Error(), http.StatusBadRequest) } else { user := uresult.Data.(*model.User) @@ -688,7 +686,7 @@ func PostUpdateChannelPurposeMessage(userId string, channel *model.Channel, oldC }, } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("", "app.channel.post_update_channel_purpose_message.post.error", nil, err.Error()) + return model.NewAppError("", "app.channel.post_update_channel_purpose_message.post.error", nil, err.Error(), http.StatusInternalServerError) } } @@ -699,7 +697,7 @@ func PostUpdateChannelDisplayNameMessage(userId string, channel *model.Channel, uc := Srv.Store.User().Get(userId) if uresult := <-uc; uresult.Err != nil { - return model.NewLocAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", nil, uresult.Err.Error()) + return model.NewAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", nil, uresult.Err.Error(), http.StatusBadRequest) } else { user := uresult.Data.(*model.User) @@ -718,7 +716,7 @@ func PostUpdateChannelDisplayNameMessage(userId string, channel *model.Channel, } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", nil, err.Error()) + return model.NewAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", nil, err.Error(), http.StatusInternalServerError) } } @@ -874,7 +872,7 @@ func GetChannelUnread(channelId, userId string) (*model.ChannelUnread, *model.Ap func JoinChannel(channel *model.Channel, userId string) *model.AppError { if channel.DeleteAt > 0 { - return model.NewLocAppError("JoinChannel", "api.channel.join_channel.already_deleted.app_error", nil, "") + return model.NewAppError("JoinChannel", "api.channel.join_channel.already_deleted.app_error", nil, "", http.StatusBadRequest) } userChan := Srv.Store.User().Get(userId) @@ -897,7 +895,7 @@ func JoinChannel(channel *model.Channel, userId string) *model.AppError { return err } } else { - return model.NewLocAppError("JoinChannel", "api.channel.join_channel.permissions.app_error", nil, "") + return model.NewAppError("JoinChannel", "api.channel.join_channel.permissions.app_error", nil, "", http.StatusBadRequest) } } @@ -916,7 +914,7 @@ func postJoinChannelMessage(user *model.User, channel *model.Channel) *model.App } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("postJoinChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) + return model.NewAppError("postJoinChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -939,14 +937,12 @@ func LeaveChannel(channelId string, userId string) *model.AppError { membersCount := ccmresult.Data.(int64) if channel.IsGroupOrDirect() { - err := model.NewLocAppError("LeaveChannel", "api.channel.leave.direct.app_error", nil, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("LeaveChannel", "api.channel.leave.direct.app_error", nil, "", http.StatusBadRequest) return err } if channel.Type == model.CHANNEL_PRIVATE && membersCount == 1 { - err := model.NewLocAppError("LeaveChannel", "api.channel.leave.last_member.app_error", nil, "userId="+user.Id) - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("LeaveChannel", "api.channel.leave.last_member.app_error", nil, "userId="+user.Id, http.StatusBadRequest) return err } @@ -972,7 +968,7 @@ func postLeaveChannelMessage(user *model.User, channel *model.Channel) *model.Ap } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("postLeaveChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) + return model.NewAppError("postLeaveChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -991,7 +987,7 @@ func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *m } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("postAddToChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) + return model.NewAppError("postAddToChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -1009,7 +1005,7 @@ func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, } if _, err := CreatePost(post, channel, false); err != nil { - return model.NewLocAppError("postRemoveFromChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) + return model.NewAppError("postRemoveFromChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -1017,13 +1013,12 @@ func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, func removeUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel) *model.AppError { if channel.DeleteAt > 0 { - err := model.NewLocAppError("RemoveUserFromChannel", "api.channel.remove_user_from_channel.deleted.app_error", nil, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("RemoveUserFromChannel", "api.channel.remove_user_from_channel.deleted.app_error", nil, "", http.StatusBadRequest) return err } if channel.Name == model.DEFAULT_CHANNEL { - return model.NewLocAppError("RemoveUserFromChannel", "api.channel.remove.default.app_error", map[string]interface{}{"Channel": model.DEFAULT_CHANNEL}, "") + return model.NewAppError("RemoveUserFromChannel", "api.channel.remove.default.app_error", map[string]interface{}{"Channel": model.DEFAULT_CHANNEL}, "", http.StatusBadRequest) } if cmresult := <-Srv.Store.Channel().RemoveMember(channel.Id, userIdToRemove); cmresult.Err != nil { diff --git a/app/compliance.go b/app/compliance.go index 5b4f9de67..9c6d8985b 100644 --- a/app/compliance.go +++ b/app/compliance.go @@ -9,11 +9,12 @@ import ( "github.com/mattermost/platform/einterfaces" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" + "net/http" ) func GetComplianceReports(page, perPage int) (model.Compliances, *model.AppError) { if !*utils.Cfg.ComplianceSettings.Enable || !utils.IsLicensed() || !*utils.License().Features.Compliance { - return nil, model.NewLocAppError("GetComplianceReports", "ent.compliance.licence_disable.app_error", nil, "") + return nil, model.NewAppError("GetComplianceReports", "ent.compliance.licence_disable.app_error", nil, "", http.StatusNotImplemented) } if result := <-Srv.Store.Compliance().GetAll(page*perPage, perPage); result.Err != nil { @@ -25,7 +26,7 @@ func GetComplianceReports(page, perPage int) (model.Compliances, *model.AppError func SaveComplianceReport(job *model.Compliance) (*model.Compliance, *model.AppError) { if !*utils.Cfg.ComplianceSettings.Enable || !utils.IsLicensed() || !*utils.License().Features.Compliance || einterfaces.GetComplianceInterface() == nil { - return nil, model.NewLocAppError("saveComplianceReport", "ent.compliance.licence_disable.app_error", nil, "") + return nil, model.NewAppError("saveComplianceReport", "ent.compliance.licence_disable.app_error", nil, "", http.StatusNotImplemented) } job.Type = model.COMPLIANCE_TYPE_ADHOC @@ -42,7 +43,7 @@ func SaveComplianceReport(job *model.Compliance) (*model.Compliance, *model.AppE func GetComplianceReport(reportId string) (*model.Compliance, *model.AppError) { if !*utils.Cfg.ComplianceSettings.Enable || !utils.IsLicensed() || !*utils.License().Features.Compliance || einterfaces.GetComplianceInterface() == nil { - return nil, model.NewLocAppError("downloadComplianceReport", "ent.compliance.licence_disable.app_error", nil, "") + return nil, model.NewAppError("downloadComplianceReport", "ent.compliance.licence_disable.app_error", nil, "", http.StatusNotImplemented) } if result := <-Srv.Store.Compliance().Get(reportId); result.Err != nil { @@ -54,7 +55,7 @@ func GetComplianceReport(reportId string) (*model.Compliance, *model.AppError) { func GetComplianceFile(job *model.Compliance) ([]byte, *model.AppError) { if f, err := ioutil.ReadFile(*utils.Cfg.ComplianceSettings.Directory + "compliance/" + job.JobName() + ".zip"); err != nil { - return nil, model.NewLocAppError("readFile", "api.file.read_file.reading_local.app_error", nil, err.Error()) + return nil, model.NewAppError("readFile", "api.file.read_file.reading_local.app_error", nil, err.Error(), http.StatusNotImplemented) } else { return f, nil diff --git a/app/email.go b/app/email.go index 309c58f3b..377a586ea 100644 --- a/app/email.go +++ b/app/email.go @@ -11,6 +11,7 @@ import ( l4g "github.com/alecthomas/log4go" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" + "net/http" ) func SendChangeUsernameEmail(oldUsername, newUsername, email, locale, siteURL string) *model.AppError { @@ -27,7 +28,7 @@ func SendChangeUsernameEmail(oldUsername, newUsername, email, locale, siteURL st map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "NewUsername": newUsername})) if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendChangeUsernameEmail", "api.user.send_email_change_username_and_forget.error", nil, err.Error()) + return model.NewAppError("SendChangeUsernameEmail", "api.user.send_email_change_username_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -51,7 +52,7 @@ func SendEmailChangeVerifyEmail(newUserEmail, locale, siteURL, token string) *mo bodyPage.Props["VerifyButton"] = T("api.templates.email_change_verify_body.button") if err := utils.SendMail(newUserEmail, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendEmailChangeVerifyEmail", "api.user.send_email_change_verify_email_and_forget.error", nil, err.Error()) + return model.NewAppError("SendEmailChangeVerifyEmail", "api.user.send_email_change_verify_email_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -71,7 +72,7 @@ func SendEmailChangeEmail(oldEmail, newEmail, locale, siteURL string) *model.App map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "NewEmail": newEmail})) if err := utils.SendMail(oldEmail, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendEmailChangeEmail", "api.user.send_email_change_email_and_forget.error", nil, err.Error()) + return model.NewAppError("SendEmailChangeEmail", "api.user.send_email_change_email_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -95,7 +96,7 @@ func SendVerifyEmail(userEmail, locale, siteURL, token string) *model.AppError { bodyPage.Props["Button"] = T("api.templates.verify_body.button") if err := utils.SendMail(userEmail, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendVerifyEmail", "api.user.send_verify_email_and_forget.failed.error", nil, err.Error()) + return model.NewAppError("SendVerifyEmail", "api.user.send_verify_email_and_forget.failed.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -114,7 +115,7 @@ func SendSignInChangeEmail(email, method, locale, siteURL string) *model.AppErro map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"], "Method": method})) if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendSignInChangeEmail", "api.user.send_sign_in_change_email_and_forget.error", nil, err.Error()) + return model.NewAppError("SendSignInChangeEmail", "api.user.send_sign_in_change_email_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -153,7 +154,7 @@ func SendWelcomeEmail(userId string, email string, verified bool, locale, siteUR } if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendWelcomeEmail", "api.user.send_welcome_email_and_forget.failed.error", nil, err.Error()) + return model.NewAppError("SendWelcomeEmail", "api.user.send_welcome_email_and_forget.failed.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -173,7 +174,7 @@ func SendPasswordChangeEmail(email, method, locale, siteURL string) *model.AppEr map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "TeamURL": siteURL, "Method": method})) if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendPasswordChangeEmail", "api.user.send_password_change_email_and_forget.error", nil, err.Error()) + return model.NewAppError("SendPasswordChangeEmail", "api.user.send_password_change_email_and_forget.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -191,7 +192,7 @@ func SendUserAccessTokenAddedEmail(email, locale string) *model.AppError { map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"], "SiteURL": utils.GetSiteURL()})) if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendUserAccessTokenAddedEmail", "api.user.send_user_access_token.error", nil, err.Error()) + return model.NewAppError("SendUserAccessTokenAddedEmail", "api.user.send_user_access_token.error", nil, err.Error(), http.StatusInternalServerError) } return nil @@ -214,7 +215,7 @@ func SendPasswordResetEmail(email string, token *model.Token, locale, siteURL st bodyPage.Props["Button"] = T("api.templates.reset_body.button") if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return false, model.NewLocAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message) + return false, model.NewAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message, http.StatusInternalServerError) } return true, nil @@ -242,7 +243,7 @@ func SendMfaChangeEmail(email string, activated bool, locale, siteURL string) *m map[string]interface{}{"SiteURL": siteURL})) if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil { - return model.NewLocAppError("SendMfaChangeEmail", "api.user.send_mfa_change_email.error", nil, err.Error()) + return model.NewAppError("SendMfaChangeEmail", "api.user.send_mfa_change_email.error", nil, err.Error(), http.StatusInternalServerError) } return nil diff --git a/app/email_batching.go b/app/email_batching.go index e2a2286ce..2e643d2b1 100644 --- a/app/email_batching.go +++ b/app/email_batching.go @@ -14,6 +14,7 @@ import ( l4g "github.com/alecthomas/log4go" "github.com/nicksnyder/go-i18n/i18n" + "net/http" ) const ( @@ -36,12 +37,12 @@ func InitEmailBatching() { func AddNotificationEmailToBatch(user *model.User, post *model.Post, team *model.Team) *model.AppError { if !*utils.Cfg.EmailSettings.EnableEmailBatching { - return model.NewLocAppError("AddNotificationEmailToBatch", "api.email_batching.add_notification_email_to_batch.disabled.app_error", nil, "") + return model.NewAppError("AddNotificationEmailToBatch", "api.email_batching.add_notification_email_to_batch.disabled.app_error", nil, "", http.StatusNotImplemented) } if !emailBatchingJob.Add(user, post, team) { l4g.Error(utils.T("api.email_batching.add_notification_email_to_batch.channel_full.app_error")) - return model.NewLocAppError("AddNotificationEmailToBatch", "api.email_batching.add_notification_email_to_batch.channel_full.app_error", nil, "") + return model.NewAppError("AddNotificationEmailToBatch", "api.email_batching.add_notification_email_to_batch.channel_full.app_error", nil, "", http.StatusInternalServerError) } return nil diff --git a/app/emoji.go b/app/emoji.go index f10170cfb..0e0e8e53a 100644 --- a/app/emoji.go +++ b/app/emoji.go @@ -49,8 +49,7 @@ func CreateEmoji(sessionUserId string, emoji *model.Emoji, multiPartImageData *m } if imageData := multiPartImageData.File["image"]; len(imageData) == 0 { - err := model.NewLocAppError("Context", "api.context.invalid_body_param.app_error", map[string]interface{}{"Name": "createEmoji"}, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("Context", "api.context.invalid_body_param.app_error", map[string]interface{}{"Name": "createEmoji"}, "", http.StatusBadRequest) return nil, err } else if err := UploadEmojiImage(emoji.Id, imageData[0]); err != nil { return nil, err diff --git a/app/import.go b/app/import.go index d404dbadd..c6afd1634 100644 --- a/app/import.go +++ b/app/import.go @@ -179,7 +179,7 @@ func BulkImport(fileReader io.Reader, dryRun bool, workers int) (*model.AppError var line LineImportData if err := decoder.Decode(&line); err != nil { - return model.NewLocAppError("BulkImport", "app.import.bulk_import.json_decode.error", nil, err.Error()), lineNumber + return model.NewAppError("BulkImport", "app.import.bulk_import.json_decode.error", nil, err.Error(), http.StatusBadRequest), lineNumber } else { if lineNumber == 1 { importDataFileVersion, apperr := processImportDataFileVersionLine(line) @@ -235,7 +235,7 @@ func BulkImport(fileReader io.Reader, dryRun bool, workers int) (*model.AppError } if err := scanner.Err(); err != nil { - return model.NewLocAppError("BulkImport", "app.import.bulk_import.file_scan.error", nil, err.Error()), 0 + return model.NewAppError("BulkImport", "app.import.bulk_import.file_scan.error", nil, err.Error(), http.StatusInternalServerError), 0 } return nil, 0 @@ -253,13 +253,13 @@ func ImportLine(line LineImportData, dryRun bool) *model.AppError { switch { case line.Type == "team": if line.Team == nil { - return model.NewLocAppError("BulkImport", "app.import.import_line.null_team.error", nil, "") + return model.NewAppError("BulkImport", "app.import.import_line.null_team.error", nil, "", http.StatusBadRequest) } else { return ImportTeam(line.Team, dryRun) } case line.Type == "channel": if line.Channel == nil { - return model.NewLocAppError("BulkImport", "app.import.import_line.null_channel.error", nil, "") + return model.NewAppError("BulkImport", "app.import.import_line.null_channel.error", nil, "", http.StatusBadRequest) } else { return ImportChannel(line.Channel, dryRun) } @@ -288,7 +288,7 @@ func ImportLine(line LineImportData, dryRun bool) *model.AppError { return ImportDirectPost(line.DirectPost, dryRun) } default: - return model.NewLocAppError("BulkImport", "app.import.import_line.unknown_line_type.error", map[string]interface{}{"Type": line.Type}, "") + return model.NewAppError("BulkImport", "app.import.import_line.unknown_line_type.error", map[string]interface{}{"Type": line.Type}, "", http.StatusBadRequest) } } @@ -337,29 +337,29 @@ func ImportTeam(data *TeamImportData, dryRun bool) *model.AppError { func validateTeamImportData(data *TeamImportData) *model.AppError { if data.Name == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.name_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.name_missing.error", nil, "", http.StatusBadRequest) } else if len(*data.Name) > model.TEAM_NAME_MAX_LENGTH { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.name_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.name_length.error", nil, "", http.StatusBadRequest) } else if model.IsReservedTeamName(*data.Name) { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.name_reserved.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.name_reserved.error", nil, "", http.StatusBadRequest) } else if !model.IsValidTeamName(*data.Name) { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.name_characters.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.name_characters.error", nil, "", http.StatusBadRequest) } if data.DisplayName == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.display_name_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.display_name_missing.error", nil, "", http.StatusBadRequest) } else if utf8.RuneCountInString(*data.DisplayName) == 0 || utf8.RuneCountInString(*data.DisplayName) > model.TEAM_DISPLAY_NAME_MAX_RUNES { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.display_name_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.display_name_length.error", nil, "", http.StatusBadRequest) } if data.Type == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.type_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.type_missing.error", nil, "", http.StatusBadRequest) } else if *data.Type != model.TEAM_OPEN && *data.Type != model.TEAM_INVITE { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.type_invalid.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.type_invalid.error", nil, "", http.StatusBadRequest) } if data.Description != nil && len(*data.Description) > model.TEAM_DESCRIPTION_MAX_LENGTH { - return model.NewLocAppError("BulkImport", "app.import.validate_team_import_data.description_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_team_import_data.description_length.error", nil, "", http.StatusBadRequest) } return nil @@ -377,7 +377,7 @@ func ImportChannel(data *ChannelImportData, dryRun bool) *model.AppError { var team *model.Team if result := <-Srv.Store.Team().GetByName(*data.Team); result.Err != nil { - return model.NewLocAppError("BulkImport", "app.import.import_channel.team_not_found.error", map[string]interface{}{"TeamName": *data.Team}, "") + return model.NewAppError("BulkImport", "app.import.import_channel.team_not_found.error", map[string]interface{}{"TeamName": *data.Team}, "", http.StatusBadRequest) } else { team = result.Data.(*model.Team) } @@ -418,35 +418,35 @@ func ImportChannel(data *ChannelImportData, dryRun bool) *model.AppError { func validateChannelImportData(data *ChannelImportData) *model.AppError { if data.Team == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.team_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.team_missing.error", nil, "", http.StatusBadRequest) } if data.Name == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.name_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.name_missing.error", nil, "", http.StatusBadRequest) } else if len(*data.Name) > model.CHANNEL_NAME_MAX_LENGTH { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.name_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.name_length.error", nil, "", http.StatusBadRequest) } else if !model.IsValidChannelIdentifier(*data.Name) { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.name_characters.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.name_characters.error", nil, "", http.StatusBadRequest) } if data.DisplayName == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.display_name_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.display_name_missing.error", nil, "", http.StatusBadRequest) } else if utf8.RuneCountInString(*data.DisplayName) == 0 || utf8.RuneCountInString(*data.DisplayName) > model.CHANNEL_DISPLAY_NAME_MAX_RUNES { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.display_name_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.display_name_length.error", nil, "", http.StatusBadRequest) } if data.Type == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.type_missing.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.type_missing.error", nil, "", http.StatusBadRequest) } else if *data.Type != model.CHANNEL_OPEN && *data.Type != model.CHANNEL_PRIVATE { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.type_invalid.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.type_invalid.error", nil, "", http.StatusBadRequest) } if data.Header != nil && utf8.RuneCountInString(*data.Header) > model.CHANNEL_HEADER_MAX_RUNES { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.header_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.header_length.error", nil, "", http.StatusBadRequest) } if data.Purpose != nil && utf8.RuneCountInString(*data.Purpose) > model.CHANNEL_PURPOSE_MAX_RUNES { - return model.NewLocAppError("BulkImport", "app.import.validate_channel_import_data.purpose_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_channel_import_data.purpose_length.error", nil, "", http.StatusBadRequest) } return nil @@ -1227,19 +1227,19 @@ func ImportDirectChannel(data *DirectChannelImportData, dryRun bool) *model.AppE func validateDirectChannelImportData(data *DirectChannelImportData) *model.AppError { if data.Members == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_channel_import_data.members_required.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_channel_import_data.members_required.error", nil, "", http.StatusBadRequest) } if len(*data.Members) != 2 { if len(*data.Members) < model.CHANNEL_GROUP_MIN_USERS { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_channel_import_data.members_too_few.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_channel_import_data.members_too_few.error", nil, "", http.StatusBadRequest) } else if len(*data.Members) > model.CHANNEL_GROUP_MAX_USERS { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_channel_import_data.members_too_many.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_channel_import_data.members_too_many.error", nil, "", http.StatusBadRequest) } } if data.Header != nil && utf8.RuneCountInString(*data.Header) > model.CHANNEL_HEADER_MAX_RUNES { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_channel_import_data.header_length.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_channel_import_data.header_length.error", nil, "", http.StatusBadRequest) } if data.FavoritedBy != nil { @@ -1252,7 +1252,7 @@ func validateDirectChannelImportData(data *DirectChannelImportData) *model.AppEr } } if !found { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_channel_import_data.unknown_favoriter.error", map[string]interface{}{"Username": favoriter}, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_channel_import_data.unknown_favoriter.error", map[string]interface{}{"Username": favoriter}, "", http.StatusBadRequest) } } } @@ -1373,14 +1373,14 @@ func ImportDirectPost(data *DirectPostImportData, dryRun bool) *model.AppError { func validateDirectPostImportData(data *DirectPostImportData) *model.AppError { if data.ChannelMembers == nil { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_post_import_data.channel_members_required.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_post_import_data.channel_members_required.error", nil, "", http.StatusBadRequest) } if len(*data.ChannelMembers) != 2 { if len(*data.ChannelMembers) < model.CHANNEL_GROUP_MIN_USERS { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_post_import_data.channel_members_too_few.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_post_import_data.channel_members_too_few.error", nil, "", http.StatusBadRequest) } else if len(*data.ChannelMembers) > model.CHANNEL_GROUP_MAX_USERS { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_post_import_data.channel_members_too_many.error", nil, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_post_import_data.channel_members_too_many.error", nil, "", http.StatusBadRequest) } } @@ -1410,7 +1410,7 @@ func validateDirectPostImportData(data *DirectPostImportData) *model.AppError { } } if !found { - return model.NewLocAppError("BulkImport", "app.import.validate_direct_post_import_data.unknown_flagger.error", map[string]interface{}{"Username": flagger}, "") + return model.NewAppError("BulkImport", "app.import.validate_direct_post_import_data.unknown_flagger.error", map[string]interface{}{"Username": flagger}, "", http.StatusBadRequest) } } } diff --git a/app/ldap.go b/app/ldap.go index 17c24db8f..e3c90b263 100644 --- a/app/ldap.go +++ b/app/ldap.go @@ -18,7 +18,7 @@ func SyncLdap() { if ldapI := einterfaces.GetLdapInterface(); ldapI != nil { ldapI.SyncNow() } else { - l4g.Error("%v", model.NewLocAppError("SyncLdap", "ent.ldap.disabled.app_error", nil, "").Error()) + l4g.Error("%v", model.NewAppError("SyncLdap", "ent.ldap.disabled.app_error", nil, "", http.StatusNotImplemented).Error()) } } }() @@ -31,8 +31,7 @@ func TestLdap() *model.AppError { return err } } else { - err := model.NewLocAppError("TestLdap", "ent.ldap.disabled.app_error", nil, "") - err.StatusCode = http.StatusNotImplemented + err := model.NewAppError("TestLdap", "ent.ldap.disabled.app_error", nil, "", http.StatusNotImplemented) return err } diff --git a/app/login.go b/app/login.go index 819d2081a..63f713cc8 100644 --- a/app/login.go +++ b/app/login.go @@ -17,8 +17,7 @@ import ( func AuthenticateUserForLogin(id, loginId, password, mfaToken, deviceId string, ldapOnly bool) (*model.User, *model.AppError) { if len(password) == 0 { - err := model.NewLocAppError("AuthenticateUserForLogin", "api.user.login.blank_pwd.app_error", nil, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("AuthenticateUserForLogin", "api.user.login.blank_pwd.app_error", nil, "", http.StatusBadRequest) return nil, err } diff --git a/app/oauth.go b/app/oauth.go index f8ddc6076..b2bedb63b 100644 --- a/app/oauth.go +++ b/app/oauth.go @@ -395,17 +395,17 @@ func RevokeAccessToken(token string) *model.AppError { schan := Srv.Store.Session().Remove(token) if result := <-Srv.Store.OAuth().GetAccessData(token); result.Err != nil { - return model.NewLocAppError("RevokeAccessToken", "api.oauth.revoke_access_token.get.app_error", nil, "") + return model.NewAppError("RevokeAccessToken", "api.oauth.revoke_access_token.get.app_error", nil, "", http.StatusBadRequest) } tchan := Srv.Store.OAuth().RemoveAccessData(token) if result := <-tchan; result.Err != nil { - return model.NewLocAppError("RevokeAccessToken", "api.oauth.revoke_access_token.del_token.app_error", nil, "") + return model.NewAppError("RevokeAccessToken", "api.oauth.revoke_access_token.del_token.app_error", nil, "", http.StatusInternalServerError) } if result := <-schan; result.Err != nil { - return model.NewLocAppError("RevokeAccessToken", "api.oauth.revoke_access_token.del_session.app_error", nil, "") + return model.NewAppError("RevokeAccessToken", "api.oauth.revoke_access_token.del_session.app_error", nil, "", http.StatusInternalServerError) } if session != nil { @@ -610,12 +610,12 @@ func GetAuthorizationCode(w http.ResponseWriter, r *http.Request, service string func AuthorizeOAuthUser(w http.ResponseWriter, r *http.Request, service, code, state, redirectUri string) (io.ReadCloser, string, map[string]string, *model.AppError) { sso := utils.Cfg.GetSSOService(service) if sso == nil || !sso.Enable { - return nil, "", nil, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.unsupported.app_error", nil, "service="+service) + return nil, "", nil, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.unsupported.app_error", nil, "service="+service, http.StatusNotImplemented) } stateStr := "" if b, err := b64.StdEncoding.DecodeString(state); err != nil { - return nil, "", nil, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.invalid_state.app_error", nil, err.Error()) + return nil, "", nil, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.invalid_state.app_error", nil, err.Error(), http.StatusBadRequest) } else { stateStr = string(b) } @@ -674,7 +674,7 @@ func AuthorizeOAuthUser(w http.ResponseWriter, r *http.Request, service, code, s var ar *model.AccessResponse var bodyBytes []byte if resp, err := utils.HttpClient(true).Do(req); err != nil { - return nil, "", stateProps, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.token_failed.app_error", nil, err.Error()) + return nil, "", stateProps, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.token_failed.app_error", nil, err.Error(), http.StatusInternalServerError) } else { bodyBytes, _ = ioutil.ReadAll(resp.Body) resp.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes)) @@ -682,16 +682,16 @@ func AuthorizeOAuthUser(w http.ResponseWriter, r *http.Request, service, code, s ar = model.AccessResponseFromJson(resp.Body) defer CloseBody(resp) if ar == nil { - return nil, "", stateProps, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.bad_response.app_error", nil, "response_body="+string(bodyBytes)) + return nil, "", stateProps, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.bad_response.app_error", nil, "response_body="+string(bodyBytes), http.StatusInternalServerError) } } if strings.ToLower(ar.TokenType) != model.ACCESS_TOKEN_TYPE { - return nil, "", stateProps, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.bad_token.app_error", nil, "token_type="+ar.TokenType+", response_body="+string(bodyBytes)) + return nil, "", stateProps, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.bad_token.app_error", nil, "token_type="+ar.TokenType+", response_body="+string(bodyBytes), http.StatusInternalServerError) } if len(ar.AccessToken) == 0 { - return nil, "", stateProps, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.missing.app_error", nil, "response_body="+string(bodyBytes)) + return nil, "", stateProps, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.missing.app_error", nil, "response_body="+string(bodyBytes), http.StatusInternalServerError) } p = url.Values{} @@ -703,8 +703,7 @@ func AuthorizeOAuthUser(w http.ResponseWriter, r *http.Request, service, code, s req.Header.Set("Authorization", "Bearer "+ar.AccessToken) if resp, err := utils.HttpClient(true).Do(req); err != nil { - return nil, "", stateProps, model.NewLocAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.service.app_error", - map[string]interface{}{"Service": service}, err.Error()) + return nil, "", stateProps, model.NewAppError("AuthorizeOAuthUser", "api.user.authorize_oauth_user.service.app_error", map[string]interface{}{"Service": service}, err.Error(), http.StatusInternalServerError) } else { return resp.Body, teamId, stateProps, nil } diff --git a/app/post.go b/app/post.go index 3845e1006..6e97ca680 100644 --- a/app/post.go +++ b/app/post.go @@ -24,16 +24,14 @@ func CreatePostAsUser(post *model.Post) (*model.Post, *model.AppError) { // Check that channel has not been deleted var channel *model.Channel if result := <-Srv.Store.Channel().Get(post.ChannelId, true); result.Err != nil { - err := model.NewLocAppError("CreatePostAsUser", "api.context.invalid_param.app_error", map[string]interface{}{"Name": "post.channel_id"}, result.Err.Error()) - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("CreatePostAsUser", "api.context.invalid_param.app_error", map[string]interface{}{"Name": "post.channel_id"}, result.Err.Error(), http.StatusBadRequest) return nil, err } else { channel = result.Data.(*model.Channel) } if channel.DeleteAt != 0 { - err := model.NewLocAppError("createPost", "api.post.create_post.can_not_post_to_deleted.error", nil, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("createPost", "api.post.create_post.can_not_post_to_deleted.error", nil, "", http.StatusBadRequest) return nil, err } @@ -124,11 +122,11 @@ func CreatePost(post *model.Post, channel *model.Channel, triggerWebhooks bool) var parentPostList *model.PostList if pchan != nil { if presult := <-pchan; presult.Err != nil { - return nil, model.NewLocAppError("createPost", "api.post.create_post.root_id.app_error", nil, "") + return nil, model.NewAppError("createPost", "api.post.create_post.root_id.app_error", nil, "", http.StatusBadRequest) } else { parentPostList = presult.Data.(*model.PostList) if len(parentPostList.Posts) == 0 || !parentPostList.IsChannelId(post.ChannelId) { - return nil, model.NewLocAppError("createPost", "api.post.create_post.channel_root_id.app_error", nil, "") + return nil, model.NewAppError("createPost", "api.post.create_post.channel_root_id.app_error", nil, "", http.StatusInternalServerError) } if post.ParentId == "" { @@ -138,7 +136,7 @@ func CreatePost(post *model.Post, channel *model.Channel, triggerWebhooks bool) if post.RootId != post.ParentId { parent := parentPostList.Posts[post.ParentId] if parent == nil { - return nil, model.NewLocAppError("createPost", "api.post.create_post.parent_id.app_error", nil, "") + return nil, model.NewAppError("createPost", "api.post.create_post.parent_id.app_error", nil, "", http.StatusInternalServerError) } } } @@ -442,7 +440,7 @@ func GetPermalinkPost(postId string, userId string) (*model.PostList, *model.App list := result.Data.(*model.PostList) if len(list.Order) != 1 { - return nil, model.NewLocAppError("getPermalinkTmp", "api.post_get_post_by_id.get.app_error", nil, "") + return nil, model.NewAppError("getPermalinkTmp", "api.post_get_post_by_id.get.app_error", nil, "", http.StatusNotFound) } post := list.Posts[list.Order[0]] diff --git a/app/saml.go b/app/saml.go index e5d1e8b3e..6b0966ebf 100644 --- a/app/saml.go +++ b/app/saml.go @@ -33,19 +33,19 @@ func WriteSamlFile(fileData *multipart.FileHeader) *model.AppError { filename := filepath.Base(fileData.Filename) if filename == "." || filename == string(filepath.Separator) { - return model.NewLocAppError("AddSamlCertificate", "api.admin.add_certificate.saving.app_error", nil, "") + return model.NewAppError("AddSamlCertificate", "api.admin.add_certificate.saving.app_error", nil, "", http.StatusBadRequest) } file, err := fileData.Open() defer file.Close() if err != nil { - return model.NewLocAppError("AddSamlCertificate", "api.admin.add_certificate.open.app_error", nil, err.Error()) + return model.NewAppError("AddSamlCertificate", "api.admin.add_certificate.open.app_error", nil, err.Error(), http.StatusInternalServerError) } configDir, _ := utils.FindDir("config") out, err := os.Create(configDir + filename) if err != nil { - return model.NewLocAppError("AddSamlCertificate", "api.admin.add_certificate.saving.app_error", nil, err.Error()) + return model.NewAppError("AddSamlCertificate", "api.admin.add_certificate.saving.app_error", nil, err.Error(), http.StatusInternalServerError) } defer out.Close() @@ -114,12 +114,11 @@ func RemoveSamlFile(filename string) *model.AppError { filename = filepath.Base(filename) if filename == "." || filename == string(filepath.Separator) { - return model.NewLocAppError("AddSamlCertificate", "api.admin.remove_certificate.delete.app_error", nil, "") + return model.NewAppError("AddSamlCertificate", "api.admin.remove_certificate.delete.app_error", nil, "", http.StatusBadRequest) } if err := os.Remove(utils.FindConfigFile(filename)); err != nil { - return model.NewLocAppError("removeCertificate", "api.admin.remove_certificate.delete.app_error", - map[string]interface{}{"Filename": filename}, err.Error()) + return model.NewAppError("removeCertificate", "api.admin.remove_certificate.delete.app_error", map[string]interface{}{"Filename": filename}, err.Error(), http.StatusInternalServerError) } return nil diff --git a/app/slackimport.go b/app/slackimport.go index e57a3a3d1..23dd37695 100644 --- a/app/slackimport.go +++ b/app/slackimport.go @@ -18,6 +18,7 @@ import ( l4g "github.com/alecthomas/log4go" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" + "net/http" ) type SlackChannel struct { @@ -631,7 +632,7 @@ func SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model zipreader, err := zip.NewReader(fileData, fileSize) if err != nil || zipreader.File == nil { log.WriteString(utils.T("api.slackimport.slack_import.zip.app_error")) - return model.NewLocAppError("SlackImport", "api.slackimport.slack_import.zip.app_error", nil, err.Error()), log + return model.NewAppError("SlackImport", "api.slackimport.slack_import.zip.app_error", nil, err.Error(), http.StatusBadRequest), log } var channels []SlackChannel @@ -642,7 +643,7 @@ func SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model reader, err := file.Open() if err != nil { log.WriteString(utils.T("api.slackimport.slack_import.open.app_error", map[string]interface{}{"Filename": file.Name})) - return model.NewLocAppError("SlackImport", "api.slackimport.slack_import.open.app_error", map[string]interface{}{"Filename": file.Name}, err.Error()), log + return model.NewAppError("SlackImport", "api.slackimport.slack_import.open.app_error", map[string]interface{}{"Filename": file.Name}, err.Error(), http.StatusInternalServerError), log } if file.Name == "channels.json" { channels, _ = SlackParseChannels(reader) diff --git a/app/team.go b/app/team.go index b479ed134..f06f8bafa 100644 --- a/app/team.go +++ b/app/team.go @@ -40,7 +40,7 @@ func CreateTeamWithUser(team *model.Team, userId string) (*model.Team, *model.Ap } if !isTeamEmailAllowed(user) { - return nil, model.NewLocAppError("isTeamEmailAllowed", "api.team.is_team_creation_allowed.domain.app_error", nil, "") + return nil, model.NewAppError("isTeamEmailAllowed", "api.team.is_team_creation_allowed.domain.app_error", nil, "", http.StatusBadRequest) } var rteam *model.Team @@ -151,8 +151,7 @@ func UpdateTeamMemberRoles(teamId string, userId string, newRoles string) (*mode } if member == nil { - err := model.NewLocAppError("UpdateTeamMemberRoles", "api.team.update_member_roles.not_a_member", nil, "userId="+userId+" teamId="+teamId) - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("UpdateTeamMemberRoles", "api.team.update_member_roles.not_a_member", nil, "userId="+userId+" teamId="+teamId, http.StatusBadRequest) return nil, err } @@ -575,7 +574,7 @@ func LeaveTeam(team *model.Team, user *model.User) *model.AppError { var err *model.AppError if teamMember, err = GetTeamMember(team.Id, user.Id); err != nil { - return model.NewLocAppError("LeaveTeam", "api.team.remove_user_from_team.missing.app_error", nil, err.Error()) + return model.NewAppError("LeaveTeam", "api.team.remove_user_from_team.missing.app_error", nil, err.Error(), http.StatusBadRequest) } var channelList *model.ChannelList @@ -630,8 +629,7 @@ func LeaveTeam(team *model.Team, user *model.User) *model.AppError { func InviteNewUsersToTeam(emailList []string, teamId, senderId string) *model.AppError { if len(emailList) == 0 { - err := model.NewLocAppError("InviteNewUsersToTeam", "api.team.invite_members.no_one.app_error", nil, "") - err.StatusCode = http.StatusBadRequest + err := model.NewAppError("InviteNewUsersToTeam", "api.team.invite_members.no_one.app_error", nil, "", http.StatusBadRequest) return err } diff --git a/app/user.go b/app/user.go index ab2133b2f..8228c8518 100644 --- a/app/user.go +++ b/app/user.go @@ -46,11 +46,11 @@ func CreateUserWithHash(user *model.User, hash string, data string) (*model.User props := model.MapFromJson(strings.NewReader(data)) if hash != utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt)) { - return nil, model.NewLocAppError("CreateUserWithHash", "api.user.create_user.signup_link_invalid.app_error", nil, "") + return nil, model.NewAppError("CreateUserWithHash", "api.user.create_user.signup_link_invalid.app_error", nil, "", http.StatusInternalServerError) } if t, err := strconv.ParseInt(props["time"], 10, 64); err != nil || model.GetMillis()-t > 1000*60*60*48 { // 48 hours - return nil, model.NewLocAppError("CreateUserWithHash", "api.user.create_user.signup_link_expired.app_error", nil, "") + return nil, model.NewAppError("CreateUserWithHash", "api.user.create_user.signup_link_expired.app_error", nil, "", http.StatusInternalServerError) } teamId := props["id"] @@ -132,8 +132,7 @@ func CreateUserFromSignup(user *model.User) (*model.User, *model.AppError) { } if !IsFirstUserAccount() && !*utils.Cfg.TeamSettings.EnableOpenServer { - err := model.NewLocAppError("CreateUserFromSignup", "api.user.create_user.no_open_server", nil, "email="+user.Email) - err.StatusCode = http.StatusForbidden + err := model.NewAppError("CreateUserFromSignup", "api.user.create_user.no_open_server", nil, "email="+user.Email, http.StatusForbidden) return nil, err } @@ -153,8 +152,7 @@ func CreateUserFromSignup(user *model.User) (*model.User, *model.AppError) { func IsUserSignUpAllowed() *model.AppError { if !utils.Cfg.EmailSettings.EnableSignUpWithEmail || !utils.Cfg.TeamSettings.EnableUserCreation { - err := model.NewLocAppError("IsUserSignUpAllowed", "api.user.create_user.signup_email_disabled.app_error", nil, "") - err.StatusCode = http.StatusNotImplemented + err := model.NewAppError("IsUserSignUpAllowed", "api.user.create_user.signup_email_disabled.app_error", nil, "", http.StatusNotImplemented) return err } return nil @@ -178,7 +176,7 @@ func IsFirstUserAccount() bool { func CreateUser(user *model.User) (*model.User, *model.AppError) { if !user.IsLDAPUser() && !user.IsSAMLUser() && !CheckUserDomain(user, utils.Cfg.TeamSettings.RestrictCreationToDomains) { - return nil, model.NewLocAppError("CreateUser", "api.user.create_user.accepted_domain.app_error", nil, "") + return nil, model.NewAppError("CreateUser", "api.user.create_user.accepted_domain.app_error", nil, "", http.StatusBadRequest) } user.Roles = model.ROLE_SYSTEM_USER.Id @@ -248,13 +246,13 @@ func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model. var user *model.User provider := einterfaces.GetOauthProvider(service) if provider == nil { - return nil, model.NewLocAppError("CreateOAuthUser", "api.user.create_oauth_user.not_available.app_error", map[string]interface{}{"Service": strings.Title(service)}, "") + return nil, model.NewAppError("CreateOAuthUser", "api.user.create_oauth_user.not_available.app_error", map[string]interface{}{"Service": strings.Title(service)}, "", http.StatusNotImplemented) } else { user = provider.GetUserFromJson(userData) } if user == nil { - return nil, model.NewLocAppError("CreateOAuthUser", "api.user.create_oauth_user.create.app_error", map[string]interface{}{"Service": service}, "") + return nil, model.NewAppError("CreateOAuthUser", "api.user.create_oauth_user.create.app_error", map[string]interface{}{"Service": service}, "", http.StatusInternalServerError) } suchan := Srv.Store.User().GetByAuth(user.AuthData, service) @@ -276,11 +274,9 @@ func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model. if result := <-euchan; result.Err == nil { authService := result.Data.(*model.User).AuthService if authService == "" { - return nil, model.NewLocAppError("CreateOAuthUser", "api.user.create_oauth_user.already_attached.app_error", - map[string]interface{}{"Service": service, "Auth": model.USER_AUTH_SERVICE_EMAIL}, "email="+user.Email) + return nil, model.NewAppError("CreateOAuthUser", "api.user.create_oauth_user.already_attached.app_error", map[string]interface{}{"Service": service, "Auth": model.USER_AUTH_SERVICE_EMAIL}, "email="+user.Email, http.StatusBadRequest) } else { - return nil, model.NewLocAppError("CreateOAuthUser", "api.user.create_oauth_user.already_attached.app_error", - map[string]interface{}{"Service": service, "Auth": authService}, "email="+user.Email) + return nil, model.NewAppError("CreateOAuthUser", "api.user.create_oauth_user.already_attached.app_error", map[string]interface{}{"Service": service, "Auth": authService}, "email="+user.Email, http.StatusBadRequest) } } @@ -634,8 +630,7 @@ func GenerateMfaSecret(userId string) (*model.MfaSecret, *model.AppError) { func ActivateMfa(userId, token string) *model.AppError { mfaInterface := einterfaces.GetMfaInterface() if mfaInterface == nil { - err := model.NewLocAppError("ActivateMfa", "api.user.update_mfa.not_available.app_error", nil, "") - err.StatusCode = http.StatusNotImplemented + err := model.NewAppError("ActivateMfa", "api.user.update_mfa.not_available.app_error", nil, "", http.StatusNotImplemented) return err } @@ -647,7 +642,7 @@ func ActivateMfa(userId, token string) *model.AppError { } if len(user.AuthService) > 0 && user.AuthService != model.USER_AUTH_SERVICE_LDAP { - return model.NewLocAppError("ActivateMfa", "api.user.activate_mfa.email_and_ldap_only.app_error", nil, "") + return model.NewAppError("ActivateMfa", "api.user.activate_mfa.email_and_ldap_only.app_error", nil, "", http.StatusBadRequest) } if err := mfaInterface.Activate(user, token); err != nil { @@ -660,8 +655,7 @@ func ActivateMfa(userId, token string) *model.AppError { func DeactivateMfa(userId string) *model.AppError { mfaInterface := einterfaces.GetMfaInterface() if mfaInterface == nil { - err := model.NewLocAppError("DeactivateMfa", "api.user.update_mfa.not_available.app_error", nil, "") - err.StatusCode = http.StatusNotImplemented + err := model.NewAppError("DeactivateMfa", "api.user.update_mfa.not_available.app_error", nil, "", http.StatusNotImplemented) return err } @@ -711,11 +705,11 @@ func CreateProfileImage(username string, userId string) ([]byte, *model.AppError fontDir, _ := utils.FindDir("fonts") fontBytes, err := ioutil.ReadFile(fontDir + utils.Cfg.FileSettings.InitialFont) if err != nil { - return nil, model.NewLocAppError("CreateProfileImage", "api.user.create_profile_image.default_font.app_error", nil, err.Error()) + return nil, model.NewAppError("CreateProfileImage", "api.user.create_profile_image.default_font.app_error", nil, err.Error(), http.StatusInternalServerError) } font, err := freetype.ParseFont(fontBytes) if err != nil { - return nil, model.NewLocAppError("CreateProfileImage", "api.user.create_profile_image.default_font.app_error", nil, err.Error()) + return nil, model.NewAppError("CreateProfileImage", "api.user.create_profile_image.default_font.app_error", nil, err.Error(), http.StatusInternalServerError) } color := colors[int64(seed)%int64(len(colors))] @@ -734,13 +728,13 @@ func CreateProfileImage(username string, userId string) ([]byte, *model.AppError pt := freetype.Pt(IMAGE_PROFILE_PIXEL_DIMENSION/6, IMAGE_PROFILE_PIXEL_DIMENSION*2/3) _, err = c.DrawString(initial, pt) if err != nil { - return nil, model.NewLocAppError("CreateProfileImage", "api.user.create_profile_image.initial.app_error", nil, err.Error()) + return nil, model.NewAppError("CreateProfileImage", "api.user.create_profile_image.initial.app_error", nil, err.Error(), http.StatusInternalServerError) } buf := new(bytes.Buffer) if imgErr := png.Encode(buf, dstImg); imgErr != nil { - return nil, model.NewLocAppError("CreateProfileImage", "api.user.create_profile_image.encode.app_error", nil, imgErr.Error()) + return nil, model.NewAppError("CreateProfileImage", "api.user.create_profile_image.encode.app_error", nil, imgErr.Error(), http.StatusInternalServerError) } else { return buf.Bytes(), nil } @@ -783,15 +777,15 @@ func SetProfileImage(userId string, imageData *multipart.FileHeader) *model.AppE file, err := imageData.Open() defer file.Close() if err != nil { - return model.NewLocAppError("SetProfileImage", "api.user.upload_profile_user.open.app_error", nil, err.Error()) + return model.NewAppError("SetProfileImage", "api.user.upload_profile_user.open.app_error", nil, err.Error(), http.StatusBadRequest) } // Decode image config first to check dimensions before loading the whole thing into memory later on config, _, err := image.DecodeConfig(file) if err != nil { - return model.NewLocAppError("SetProfileImage", "api.user.upload_profile_user.decode_config.app_error", nil, err.Error()) + return model.NewAppError("SetProfileImage", "api.user.upload_profile_user.decode_config.app_error", nil, err.Error(), http.StatusBadRequest) } else if config.Width*config.Height > model.MaxImageSize { - return model.NewLocAppError("SetProfileImage", "api.user.upload_profile_user.too_large.app_error", nil, err.Error()) + return model.NewAppError("SetProfileImage", "api.user.upload_profile_user.too_large.app_error", nil, err.Error(), http.StatusBadRequest) } file.Seek(0, 0) @@ -799,7 +793,7 @@ func SetProfileImage(userId string, imageData *multipart.FileHeader) *model.AppE // Decode image into Image object img, _, err := image.Decode(file) if err != nil { - return model.NewLocAppError("SetProfileImage", "api.user.upload_profile_user.decode.app_error", nil, err.Error()) + return model.NewAppError("SetProfileImage", "api.user.upload_profile_user.decode.app_error", nil, err.Error(), http.StatusBadRequest) } file.Seek(0, 0) @@ -814,13 +808,13 @@ func SetProfileImage(userId string, imageData *multipart.FileHeader) *model.AppE buf := new(bytes.Buffer) err = png.Encode(buf, img) if err != nil { - return model.NewLocAppError("SetProfileImage", "api.user.upload_profile_user.encode.app_error", nil, err.Error()) + return model.NewAppError("SetProfileImage", "api.user.upload_profile_user.encode.app_error", nil, err.Error(), http.StatusInternalServerError) } path := "users/" + userId + "/profile.png" if err := utils.WriteFile(buf.Bytes(), path); err != nil { - return model.NewLocAppError("SetProfileImage", "api.user.upload_profile_user.upload_profile.app_error", nil, "") + return model.NewAppError("SetProfileImage", "api.user.upload_profile_user.upload_profile.app_error", nil, "", http.StatusInternalServerError) } <-Srv.Store.User().UpdateLastPictureUpdate(userId) @@ -886,7 +880,7 @@ func UpdateActiveNoLdap(userId string, active bool) (*model.User, *model.AppErro } if user.IsLDAPUser() { - err := model.NewLocAppError("UpdateActive", "api.user.update_active.no_deactivate_ldap.app_error", nil, "userId="+user.Id) + err := model.NewAppError("UpdateActive", "api.user.update_active.no_deactivate_ldap.app_error", nil, "userId="+user.Id, http.StatusBadRequest) err.StatusCode = http.StatusBadRequest return nil, err } @@ -1075,7 +1069,7 @@ func UpdatePassword(user *model.User, newPassword string) *model.AppError { hashedPassword := model.HashPassword(newPassword) if result := <-Srv.Store.User().UpdatePassword(user.Id, hashedPassword); result.Err != nil { - return model.NewLocAppError("UpdatePassword", "api.user.update_password.failed.app_error", nil, result.Err.Error()) + return model.NewAppError("UpdatePassword", "api.user.update_password.failed.app_error", nil, result.Err.Error(), http.StatusInternalServerError) } return nil @@ -1145,7 +1139,7 @@ func SendPasswordReset(email string, siteURL string) (bool, *model.AppError) { } if _, err := SendPasswordResetEmail(user.Email, token, user.Locale, siteURL); err != nil { - return false, model.NewLocAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message) + return false, model.NewAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message, http.StatusInternalServerError) } return true, nil @@ -1488,7 +1482,7 @@ func UpdateOAuthUserAttrs(userData io.Reader, user *model.User, provider einterf oauthUser := provider.GetUserFromJson(userData) if oauthUser == nil { - return model.NewLocAppError("UpdateOAuthUserAttrs", "api.user.update_oauth_user_attrs.get_user.app_error", map[string]interface{}{"Service": service}, "") + return model.NewAppError("UpdateOAuthUserAttrs", "api.user.update_oauth_user_attrs.get_user.app_error", map[string]interface{}{"Service": service}, "", http.StatusBadRequest) } userAttrsChanged := false diff --git a/app/webhook.go b/app/webhook.go index cf4f156a2..a22cc74c4 100644 --- a/app/webhook.go +++ b/app/webhook.go @@ -174,7 +174,7 @@ func CreateWebhookPost(userId string, channel *model.Channel, text, overrideUser post.CreateAt = 0 post.Message = txt if _, err := CreatePostMissingChannel(post, false); err != nil { - return nil, model.NewLocAppError("CreateWebhookPost", "api.post.create_webhook_post.creating.app_error", nil, "err="+err.Message) + return nil, model.NewAppError("CreateWebhookPost", "api.post.create_webhook_post.creating.app_error", nil, "err="+err.Message, http.StatusInternalServerError) } if firstPost == nil { @@ -309,7 +309,7 @@ func CreateOutgoingWebhook(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, triggerIntersect := utils.StringArrayIntersection(existingOutHook.TriggerWords, hook.TriggerWords) if existingOutHook.ChannelId == hook.ChannelId && len(urlIntersect) != 0 && len(triggerIntersect) != 0 { - return nil, model.NewLocAppError("CreateOutgoingWebhook", "api.webhook.create_outgoing.intersect.app_error", nil, "") + return nil, model.NewAppError("CreateOutgoingWebhook", "api.webhook.create_outgoing.intersect.app_error", nil, "", http.StatusInternalServerError) } } } @@ -340,7 +340,7 @@ func UpdateOutgoingWebhook(oldHook, updatedHook *model.OutgoingWebhook) (*model. return nil, model.NewAppError("UpdateOutgoingWebhook", "api.webhook.create_outgoing.permissions.app_error", nil, "", http.StatusForbidden) } } else if len(updatedHook.TriggerWords) == 0 { - return nil, model.NewLocAppError("UpdateOutgoingWebhook", "api.webhook.create_outgoing.triggers.app_error", nil, "") + return nil, model.NewAppError("UpdateOutgoingWebhook", "api.webhook.create_outgoing.triggers.app_error", nil, "", http.StatusInternalServerError) } var result store.StoreResult diff --git a/app/websocket_router.go b/app/websocket_router.go index a189fb790..e8957e6b5 100644 --- a/app/websocket_router.go +++ b/app/websocket_router.go @@ -8,6 +8,7 @@ import ( "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" + "net/http" ) type webSocketHandler interface { @@ -30,13 +31,13 @@ func (wr *WebSocketRouter) Handle(action string, handler webSocketHandler) { func (wr *WebSocketRouter) ServeWebSocket(conn *WebConn, r *model.WebSocketRequest) { if r.Action == "" { - err := model.NewLocAppError("ServeWebSocket", "api.web_socket_router.no_action.app_error", nil, "") + err := model.NewAppError("ServeWebSocket", "api.web_socket_router.no_action.app_error", nil, "", http.StatusBadRequest) ReturnWebSocketError(conn, r, err) return } if r.Seq <= 0 { - err := model.NewLocAppError("ServeWebSocket", "api.web_socket_router.bad_seq.app_error", nil, "") + err := model.NewAppError("ServeWebSocket", "api.web_socket_router.bad_seq.app_error", nil, "", http.StatusBadRequest) ReturnWebSocketError(conn, r, err) return } @@ -75,14 +76,14 @@ func (wr *WebSocketRouter) ServeWebSocket(conn *WebConn, r *model.WebSocketReque } if !conn.IsAuthenticated() { - err := model.NewLocAppError("ServeWebSocket", "api.web_socket_router.not_authenticated.app_error", nil, "") + err := model.NewAppError("ServeWebSocket", "api.web_socket_router.not_authenticated.app_error", nil, "", http.StatusUnauthorized) ReturnWebSocketError(conn, r, err) return } var handler webSocketHandler if h, ok := wr.handlers[r.Action]; !ok { - err := model.NewLocAppError("ServeWebSocket", "api.web_socket_router.bad_action.app_error", nil, "") + err := model.NewAppError("ServeWebSocket", "api.web_socket_router.bad_action.app_error", nil, "", http.StatusInternalServerError) ReturnWebSocketError(conn, r, err) return } else { -- cgit v1.2.3-1-g7c22