MM-22051: Remove ToJson methods from network writes (#17999)

We replace the double conversion of
[]byte to string, with a direct write
to http.ResponseWriter.

https://mattermost.atlassian.net/browse/MM-22051

Tried using gofmt -r, but it only accepts Go
expressions. So had to resort to an ugly sed replace

sed -E -i 's/w.Write\(\[\]byte\((.*).ToJson\(\)\)\)/if err := json.NewEncoder\(w\).Encode\(\1\); err != nil { mlog.Warn\("Error while writing response", mlog.Err\(err\)\)}/g' *.go

```release-note
NONE
```
Этот коммит содержится в:
Agniva De Sarker
2021-07-26 13:41:02 +05:30
коммит произвёл GitHub
родитель ae7119ddf5
Коммит 23800326a0
33 изменённых файлов: 578 добавлений и 181 удалений

Просмотреть файл

@@ -13,6 +13,7 @@ import (
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitBot() { func (api *API) InitBot() {
@@ -74,7 +75,9 @@ func createBot(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("bot", createdBot) // overwrite meta auditRec.AddMeta("bot", createdBot) // overwrite meta
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write(createdBot.ToJson()) if err := json.NewEncoder(w).Encode(createdBot); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func patchBot(c *Context, w http.ResponseWriter, r *http.Request) { func patchBot(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -109,7 +112,9 @@ func patchBot(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
auditRec.AddMeta("bot", updatedBot) auditRec.AddMeta("bot", updatedBot)
w.Write(updatedBot.ToJson()) if err := json.NewEncoder(w).Encode(updatedBot); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getBot(c *Context, w http.ResponseWriter, r *http.Request) { func getBot(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -148,7 +153,9 @@ func getBot(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write(bot.ToJson()) if err := json.NewEncoder(w).Encode(bot); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getBots(c *Context, w http.ResponseWriter, r *http.Request) { func getBots(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -183,7 +190,9 @@ func getBots(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write(bots.ToJson()) if err := json.NewEncoder(w).Encode(bots); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func disableBot(c *Context, w http.ResponseWriter, _ *http.Request) { func disableBot(c *Context, w http.ResponseWriter, _ *http.Request) {
@@ -220,7 +229,9 @@ func updateBotActive(c *Context, w http.ResponseWriter, active bool) {
auditRec.Success() auditRec.Success()
auditRec.AddMeta("bot", bot) auditRec.AddMeta("bot", bot)
w.Write(bot.ToJson()) if err := json.NewEncoder(w).Encode(bot); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func assignBot(c *Context, w http.ResponseWriter, _ *http.Request) { func assignBot(c *Context, w http.ResponseWriter, _ *http.Request) {
@@ -258,7 +269,9 @@ func assignBot(c *Context, w http.ResponseWriter, _ *http.Request) {
auditRec.Success() auditRec.Success()
auditRec.AddMeta("bot", bot) auditRec.AddMeta("bot", bot)
w.Write(bot.ToJson()) if err := json.NewEncoder(w).Encode(bot); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getBotIconImage(c *Context, w http.ResponseWriter, r *http.Request) { func getBotIconImage(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -423,5 +436,7 @@ func convertBotToUser(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
auditRec.AddMeta("convertedTo", user) auditRec.AddMeta("convertedTo", user)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -111,7 +111,9 @@ func createChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("name=" + channel.Name) c.LogAudit("name=" + channel.Name)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(sc.ToJson())) if err := json.NewEncoder(w).Encode(sc); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) { func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -221,7 +223,9 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("name=" + channel.Name) c.LogAudit("name=" + channel.Name)
w.Write([]byte(oldChannel.ToJson())) if err := json.NewEncoder(w).Encode(oldChannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func convertChannelToPrivate(c *Context, w http.ResponseWriter, r *http.Request) { func convertChannelToPrivate(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -273,7 +277,9 @@ func convertChannelToPrivate(c *Context, w http.ResponseWriter, r *http.Request)
auditRec.Success() auditRec.Success()
c.LogAudit("name=" + rchannel.Name) c.LogAudit("name=" + rchannel.Name)
w.Write([]byte(rchannel.ToJson())) if err := json.NewEncoder(w).Encode(rchannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Request) { func updateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -333,7 +339,9 @@ func updateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("name=" + updatedChannel.Name) c.LogAudit("name=" + updatedChannel.Name)
w.Write([]byte(updatedChannel.ToJson())) if err := json.NewEncoder(w).Encode(updatedChannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) { func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -400,7 +408,9 @@ func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("") c.LogAudit("")
auditRec.AddMeta("patch", rchannel) auditRec.AddMeta("patch", rchannel)
w.Write([]byte(rchannel.ToJson())) if err := json.NewEncoder(w).Encode(rchannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func restoreChannel(c *Context, w http.ResponseWriter, r *http.Request) { func restoreChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -434,7 +444,9 @@ func restoreChannel(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("name=" + channel.Name) c.LogAudit("name=" + channel.Name)
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func createDirectChannel(c *Context, w http.ResponseWriter, r *http.Request) { func createDirectChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -497,7 +509,9 @@ func createDirectChannel(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("channel", sc) auditRec.AddMeta("channel", sc)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(sc.ToJson())) if err := json.NewEncoder(w).Encode(sc); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func searchGroupChannels(c *Context, w http.ResponseWriter, r *http.Request) { func searchGroupChannels(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -514,7 +528,9 @@ func searchGroupChannels(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(groupChannels.ToJson())) if err := json.NewEncoder(w).Encode(groupChannels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func createGroupChannel(c *Context, w http.ResponseWriter, r *http.Request) { func createGroupChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -577,7 +593,9 @@ func createGroupChannel(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("channel", groupChannel) auditRec.AddMeta("channel", groupChannel)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(groupChannel.ToJson())) if err := json.NewEncoder(w).Encode(groupChannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannel(c *Context, w http.ResponseWriter, r *http.Request) { func getChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -610,7 +628,9 @@ func getChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelUnread(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelUnread(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -635,7 +655,9 @@ func getChannelUnread(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(channelUnread.ToJson())) if err := json.NewEncoder(w).Encode(channelUnread); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelStats(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelStats(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -667,8 +689,15 @@ func getChannelStats(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
stats := model.ChannelStats{ChannelId: c.Params.ChannelId, MemberCount: memberCount, GuestCount: guestCount, PinnedPostCount: pinnedPostCount} stats := model.ChannelStats{
w.Write([]byte(stats.ToJson())) ChannelId: c.Params.ChannelId,
MemberCount: memberCount,
GuestCount: guestCount,
PinnedPostCount: pinnedPostCount,
}
if err := json.NewEncoder(w).Encode(stats); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPinnedPosts(c *Context, w http.ResponseWriter, r *http.Request) { func getPinnedPosts(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -695,7 +724,9 @@ func getPinnedPosts(c *Context, w http.ResponseWriter, r *http.Request) {
clientPostList := c.App.PreparePostListForClient(posts) clientPostList := c.App.PreparePostListForClient(posts)
w.Header().Set(model.HeaderEtagServer, clientPostList.Etag()) w.Header().Set(model.HeaderEtagServer, clientPostList.Etag())
w.Write([]byte(clientPostList.ToJson())) if err := json.NewEncoder(w).Encode(clientPostList); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getAllChannels(c *Context, w http.ResponseWriter, r *http.Request) { func getAllChannels(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -729,7 +760,6 @@ func getAllChannels(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
var payload []byte
if c.Params.IncludeTotalCount { if c.Params.IncludeTotalCount {
totalCount, err := c.App.GetAllChannelsCount(opts) totalCount, err := c.App.GetAllChannelsCount(opts)
if err != nil { if err != nil {
@@ -740,12 +770,15 @@ func getAllChannels(c *Context, w http.ResponseWriter, r *http.Request) {
Channels: channels, Channels: channels,
TotalCount: totalCount, TotalCount: totalCount,
} }
payload = cwc.ToJson() if err := json.NewEncoder(w).Encode(cwc); err != nil {
} else { mlog.Warn("Error while writing response", mlog.Err(err))
payload = []byte(channels.ToJson()) }
return
} }
w.Write(payload) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPublicChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func getPublicChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -771,7 +804,9 @@ func getPublicChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request
return return
} }
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getDeletedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func getDeletedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -792,7 +827,9 @@ func getDeletedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Reques
return return
} }
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPrivateChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func getPrivateChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -818,7 +855,9 @@ func getPrivateChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Reques
return return
} }
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPublicChannelsByIdsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func getPublicChannelsByIdsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -857,7 +896,9 @@ func getPublicChannelsByIdsForTeam(c *Context, w http.ResponseWriter, r *http.Re
return return
} }
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelsForTeamForUser(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelsForTeamForUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -903,7 +944,9 @@ func getChannelsForTeamForUser(c *Context, w http.ResponseWriter, r *http.Reques
} }
w.Header().Set(model.HeaderEtagServer, channels.Etag()) w.Header().Set(model.HeaderEtagServer, channels.Etag())
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func autocompleteChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func autocompleteChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -927,7 +970,9 @@ func autocompleteChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Requ
// Don't fill in channels props, since unused by client and potentially expensive. // Don't fill in channels props, since unused by client and potentially expensive.
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func autocompleteChannelsForTeamForSearch(c *Context, w http.ResponseWriter, r *http.Request) { func autocompleteChannelsForTeamForSearch(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -944,7 +989,9 @@ func autocompleteChannelsForTeamForSearch(c *Context, w http.ResponseWriter, r *
return return
} }
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func searchChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func searchChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -981,7 +1028,9 @@ func searchChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
// Don't fill in channels props, since unused by client and potentially expensive. // Don't fill in channels props, since unused by client and potentially expensive.
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func searchArchivedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) { func searchArchivedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1018,7 +1067,9 @@ func searchArchivedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Re
// Don't fill in channels props, since unused by client and potentially expensive. // Don't fill in channels props, since unused by client and potentially expensive.
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func searchAllChannels(c *Context, w http.ResponseWriter, r *http.Request) { func searchAllChannels(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1066,15 +1117,18 @@ func searchAllChannels(c *Context, w http.ResponseWriter, r *http.Request) {
} }
// Don't fill in channels props, since unused by client and potentially expensive. // Don't fill in channels props, since unused by client and potentially expensive.
var payload []byte
if props.Page != nil && props.PerPage != nil { if props.Page != nil && props.PerPage != nil {
data := model.ChannelsWithCount{Channels: channels, TotalCount: totalCount} data := model.ChannelsWithCount{Channels: channels, TotalCount: totalCount}
payload = data.ToJson()
} else { if err := json.NewEncoder(w).Encode(data); err != nil {
payload = []byte(channels.ToJson()) mlog.Warn("Error while writing response", mlog.Err(err))
}
return
} }
w.Write(payload) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) { func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1159,7 +1213,9 @@ func getChannelByName(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelByNameForTeamName(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelByNameForTeamName(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1194,7 +1250,9 @@ func getChannelByNameForTeamName(c *Context, w http.ResponseWriter, r *http.Requ
return return
} }
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelMembers(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelMembers(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1214,7 +1272,9 @@ func getChannelMembers(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(members.ToJson())) if err := json.NewEncoder(w).Encode(members); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelMembersTimezones(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelMembersTimezones(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1260,7 +1320,9 @@ func getChannelMembersByIds(c *Context, w http.ResponseWriter, r *http.Request)
return return
} }
w.Write([]byte(members.ToJson())) if err := json.NewEncoder(w).Encode(members); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1280,7 +1342,9 @@ func getChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(member.ToJson())) if err := json.NewEncoder(w).Encode(member); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getChannelMembersForUser(c *Context, w http.ResponseWriter, r *http.Request) { func getChannelMembersForUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1305,7 +1369,9 @@ func getChannelMembersForUser(c *Context, w http.ResponseWriter, r *http.Request
return return
} }
w.Write([]byte(members.ToJson())) if err := json.NewEncoder(w).Encode(members); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) { func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1351,7 +1417,9 @@ func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) {
LastViewedAtTimes: times, LastViewedAtTimes: times,
} }
w.Write([]byte(resp.ToJson())) if err := json.NewEncoder(w).Encode(resp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateChannelMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) { func updateChannelMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1578,7 +1646,9 @@ func addChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("name=" + channel.Name + " user_id=" + cm.UserId) c.LogAudit("name=" + channel.Name + " user_id=" + cm.UserId)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(cm.ToJson())) if err := json.NewEncoder(w).Encode(cm); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func removeChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { func removeChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1944,5 +2014,7 @@ func moveChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("channel=" + channel.Name) c.LogAudit("channel=" + channel.Name)
c.LogAudit("team=" + team.Name) c.LogAudit("team=" + team.Name)
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -10,6 +10,7 @@ import (
"github.com/mattermost/mattermost-server/v6/app" "github.com/mattermost/mattermost-server/v6/app"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitChannelLocal() { func (api *API) InitChannelLocal() {
@@ -59,7 +60,9 @@ func localCreateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("name=" + channel.Name) c.LogAudit("name=" + channel.Name)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(sc.ToJson())) if err := json.NewEncoder(w).Encode(sc); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localUpdateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Request) { func localUpdateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -101,7 +104,9 @@ func localUpdateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Reques
auditRec.Success() auditRec.Success()
c.LogAudit("name=" + updatedChannel.Name) c.LogAudit("name=" + updatedChannel.Name)
w.Write([]byte(updatedChannel.ToJson())) if err := json.NewEncoder(w).Encode(updatedChannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localRestoreChannel(c *Context, w http.ResponseWriter, r *http.Request) { func localRestoreChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -129,7 +134,9 @@ func localRestoreChannel(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("name=" + channel.Name) c.LogAudit("name=" + channel.Name)
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localAddChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { func localAddChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -212,7 +219,9 @@ func localAddChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("name=" + channel.Name + " user_id=" + cm.UserId) c.LogAudit("name=" + channel.Name + " user_id=" + cm.UserId)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(cm.ToJson())) if err := json.NewEncoder(w).Encode(cm); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localRemoveChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { func localRemoveChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -300,7 +309,9 @@ func localPatchChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("") c.LogAudit("")
auditRec.AddMeta("patch", rchannel) auditRec.AddMeta("patch", rchannel)
w.Write([]byte(rchannel.ToJson())) if err := json.NewEncoder(w).Encode(rchannel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localMoveChannel(c *Context, w http.ResponseWriter, r *http.Request) { func localMoveChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -370,7 +381,9 @@ func localMoveChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("channel=" + channel.Name) c.LogAudit("channel=" + channel.Name)
c.LogAudit("team=" + team.Name) c.LogAudit("team=" + team.Name)
w.Write([]byte(channel.ToJson())) if err := json.NewEncoder(w).Encode(channel); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localDeleteChannel(c *Context, w http.ResponseWriter, r *http.Request) { func localDeleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,12 +4,14 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"strconv" "strconv"
"strings" "strings"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitCommand() { func (api *API) InitCommand() {
@@ -56,7 +58,9 @@ func createCommand(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("command", rcmd) auditRec.AddMeta("command", rcmd)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rcmd.ToJson())) if err := json.NewEncoder(w).Encode(rcmd); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateCommand(c *Context, w http.ResponseWriter, r *http.Request) { func updateCommand(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -111,7 +115,9 @@ func updateCommand(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(rcmd.ToJson())) if err := json.NewEncoder(w).Encode(rcmd); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func moveCommand(c *Context, w http.ResponseWriter, r *http.Request) { func moveCommand(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -284,7 +290,9 @@ func getCommand(c *Context, w http.ResponseWriter, r *http.Request) {
c.SetCommandNotFoundError() c.SetCommandNotFoundError()
return return
} }
w.Write([]byte(cmd.ToJson())) if err := json.NewEncoder(w).Encode(cmd); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) { func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -344,7 +352,9 @@ func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) {
} }
auditRec.Success() auditRec.Success()
w.Write([]byte(response.ToJson())) if err := json.NewEncoder(w).Encode(response); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func listAutocompleteCommands(c *Context, w http.ResponseWriter, r *http.Request) { func listAutocompleteCommands(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitCommandLocal() { func (api *API) InitCommandLocal() {
@@ -42,5 +44,7 @@ func localCreateCommand(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("command", rcmd) auditRec.AddMeta("command", rcmd)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rcmd.ToJson())) if err := json.NewEncoder(w).Encode(rcmd); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"net/url" "net/url"
@@ -14,6 +15,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func TestCreateCommand(t *testing.T) { func TestCreateCommand(t *testing.T) {
@@ -621,7 +623,9 @@ func TestExecuteInvalidCommand(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
rc := &model.CommandResponse{} rc := &model.CommandResponse{}
w.Write([]byte(rc.ToJson())) if err := json.NewEncoder(w).Encode(rc); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()
@@ -699,7 +703,9 @@ func TestExecuteGetCommand(t *testing.T) {
require.Equal(t, "ourCommand", values.Get("cmd")) require.Equal(t, "ourCommand", values.Get("cmd"))
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.Write([]byte(expectedCommandResponse.ToJson())) if err := json.NewEncoder(w).Encode(expectedCommandResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()
@@ -757,7 +763,9 @@ func TestExecutePostCommand(t *testing.T) {
require.Equal(t, th.BasicTeam.Name, r.FormValue("team_domain")) require.Equal(t, th.BasicTeam.Name, r.FormValue("team_domain"))
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.Write([]byte(expectedCommandResponse.ToJson())) if err := json.NewEncoder(w).Encode(expectedCommandResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()
@@ -809,7 +817,9 @@ func TestExecuteCommandAgainstChannelOnAnotherTeam(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.Write([]byte(expectedCommandResponse.ToJson())) if err := json.NewEncoder(w).Encode(expectedCommandResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()
@@ -858,7 +868,9 @@ func TestExecuteCommandAgainstChannelUserIsNotIn(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.Write([]byte(expectedCommandResponse.ToJson())) if err := json.NewEncoder(w).Encode(expectedCommandResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()
@@ -915,7 +927,9 @@ func TestExecuteCommandInDirectMessageChannel(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method) require.Equal(t, http.MethodPost, r.Method)
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.Write([]byte(expectedCommandResponse.ToJson())) if err := json.NewEncoder(w).Encode(expectedCommandResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()
@@ -977,7 +991,9 @@ func TestExecuteCommandInTeamUserIsNotOn(t *testing.T) {
require.Equal(t, team2.Name, r.FormValue("team_domain")) require.Equal(t, team2.Name, r.FormValue("team_domain"))
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.Write([]byte(expectedCommandResponse.ToJson())) if err := json.NewEncoder(w).Encode(expectedCommandResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
})) }))
defer ts.Close() defer ts.Close()

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"strconv" "strconv"
@@ -11,6 +12,7 @@ import (
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitCompliance() { func (api *API) InitCompliance() {
@@ -49,7 +51,9 @@ func createComplianceReport(c *Context, w http.ResponseWriter, r *http.Request)
c.LogAudit("") c.LogAudit("")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rjob.ToJson())) if err := json.NewEncoder(w).Encode(rjob); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getComplianceReports(c *Context, w http.ResponseWriter, r *http.Request) { func getComplianceReports(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -68,7 +72,9 @@ func getComplianceReports(c *Context, w http.ResponseWriter, r *http.Request) {
} }
auditRec.Success() auditRec.Success()
w.Write([]byte(crs.ToJson())) if err := json.NewEncoder(w).Encode(crs); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) { func getComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -95,7 +101,9 @@ func getComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("compliance_id", job.Id) auditRec.AddMeta("compliance_id", job.Id)
auditRec.AddMeta("compliance_desc", job.Desc) auditRec.AddMeta("compliance_desc", job.Desc)
w.Write([]byte(job.ToJson())) if err := json.NewEncoder(w).Encode(job); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func downloadComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) { func downloadComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"fmt" "fmt"
"net/http" "net/http"
"reflect" "reflect"
@@ -69,8 +70,10 @@ func getConfig(c *Context, w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
if c.App.Srv().License() != nil && *c.App.Srv().License().Features.Cloud { if c.App.Srv().License() != nil && *c.App.Srv().License().Features.Cloud {
w.Write([]byte(cfg.ToJsonFiltered(model.ConfigAccessTagType, model.ConfigAccessTagCloudRestrictable))) w.Write([]byte(cfg.ToJsonFiltered(model.ConfigAccessTagType, model.ConfigAccessTagCloudRestrictable)))
} else { return
w.Write([]byte(cfg.ToJson())) }
if err := json.NewEncoder(w).Encode(cfg); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
} }
} }
@@ -173,8 +176,11 @@ func updateConfig(c *Context, w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
if c.App.Srv().License() != nil && *c.App.Srv().License().Features.Cloud { if c.App.Srv().License() != nil && *c.App.Srv().License().Features.Cloud {
w.Write([]byte(cfg.ToJsonFiltered(model.ConfigAccessTagType, model.ConfigAccessTagCloudRestrictable))) w.Write([]byte(cfg.ToJsonFiltered(model.ConfigAccessTagType, model.ConfigAccessTagCloudRestrictable)))
} else { return
w.Write([]byte(cfg.ToJson())) }
if err := json.NewEncoder(w).Encode(cfg); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
} }
} }
@@ -291,8 +297,11 @@ func patchConfig(c *Context, w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
if c.App.Srv().License() != nil && *c.App.Srv().License().Features.Cloud { if c.App.Srv().License() != nil && *c.App.Srv().License().Features.Cloud {
w.Write([]byte(cfg.ToJsonFiltered(model.ConfigAccessTagType, model.ConfigAccessTagCloudRestrictable))) w.Write([]byte(cfg.ToJsonFiltered(model.ConfigAccessTagType, model.ConfigAccessTagCloudRestrictable)))
} else { return
w.Write([]byte(cfg.ToJson())) }
if err := json.NewEncoder(w).Encode(cfg); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
} }
} }

Просмотреть файл

@@ -4,12 +4,14 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"reflect" "reflect"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/config" "github.com/mattermost/mattermost-server/v6/config"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
"github.com/mattermost/mattermost-server/v6/utils" "github.com/mattermost/mattermost-server/v6/utils"
) )
@@ -26,7 +28,9 @@ func localGetConfig(c *Context, w http.ResponseWriter, r *http.Request) {
cfg := c.App.GetSanitizedConfig() cfg := c.App.GetSanitizedConfig()
auditRec.Success() auditRec.Success()
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
w.Write([]byte(cfg.ToJson())) if err := json.NewEncoder(w).Encode(cfg); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localUpdateConfig(c *Context, w http.ResponseWriter, r *http.Request) { func localUpdateConfig(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -76,7 +80,9 @@ func localUpdateConfig(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("updateConfig") c.LogAudit("updateConfig")
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
w.Write([]byte(newCfg.ToJson())) if err := json.NewEncoder(w).Encode(newCfg); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localPatchConfig(c *Context, w http.ResponseWriter, r *http.Request) { func localPatchConfig(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -129,5 +135,7 @@ func localPatchConfig(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
w.Write([]byte(c.App.GetSanitizedConfig().ToJson())) if err := json.NewEncoder(w).Encode(c.App.GetSanitizedConfig()); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"io" "io"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
@@ -12,6 +13,7 @@ import (
"github.com/mattermost/mattermost-server/v6/app" "github.com/mattermost/mattermost-server/v6/app"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
"github.com/mattermost/mattermost-server/v6/web" "github.com/mattermost/mattermost-server/v6/web"
) )
@@ -96,7 +98,9 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
} }
auditRec.Success() auditRec.Success()
w.Write([]byte(newEmoji.ToJson())) if err := json.NewEncoder(w).Encode(newEmoji); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getEmojiList(c *Context, w http.ResponseWriter, r *http.Request) { func getEmojiList(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -204,7 +208,9 @@ func getEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(emoji.ToJson())) if err := json.NewEncoder(w).Encode(emoji); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getEmojiByName(c *Context, w http.ResponseWriter, r *http.Request) { func getEmojiByName(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -219,7 +225,9 @@ func getEmojiByName(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(emoji.ToJson())) if err := json.NewEncoder(w).Encode(emoji); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getEmojiImage(c *Context, w http.ResponseWriter, r *http.Request) { func getEmojiImage(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -6,6 +6,7 @@ package api4
import ( import (
"bytes" "bytes"
"crypto/subtle" "crypto/subtle"
"encoding/json"
"io" "io"
"mime" "mime"
"mime/multipart" "mime/multipart"
@@ -18,6 +19,7 @@ import (
"github.com/mattermost/mattermost-server/v6/app" "github.com/mattermost/mattermost-server/v6/app"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
"github.com/mattermost/mattermost-server/v6/utils" "github.com/mattermost/mattermost-server/v6/utils"
) )
@@ -146,7 +148,9 @@ func uploadFileStream(c *Context, w http.ResponseWriter, r *http.Request) {
// Write the response values to the output upon return // Write the response values to the output upon return
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(fileUploadResponse.ToJson())) if err := json.NewEncoder(w).Encode(fileUploadResponse); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
// uploadFileSimple uploads a file from a simple POST with the file in the request body // uploadFileSimple uploads a file from a simple POST with the file in the request body
@@ -626,7 +630,9 @@ func getFileInfo(c *Context, w http.ResponseWriter, r *http.Request) {
} }
w.Header().Set("Cache-Control", "max-age=2592000, private") w.Header().Set("Cache-Control", "max-age=2592000, private")
w.Write([]byte(info.ToJson())) if err := json.NewEncoder(w).Encode(info); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) { func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -793,5 +799,7 @@ func searchFiles(c *Context, w http.ResponseWriter, r *http.Request) {
} }
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
w.Write([]byte(results.ToJson())) if err := json.NewEncoder(w).Encode(results); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"path/filepath" "path/filepath"
"strconv" "strconv"
@@ -45,7 +46,9 @@ func getJob(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(job.ToJson())) if err := json.NewEncoder(w).Encode(job); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func downloadJob(c *Context, w http.ResponseWriter, r *http.Request) { func downloadJob(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -132,7 +135,9 @@ func createJob(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("job", job) // overwrite meta auditRec.AddMeta("job", job) // overwrite meta
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(job.ToJson())) if err := json.NewEncoder(w).Encode(job); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getJobs(c *Context, w http.ResponseWriter, r *http.Request) { func getJobs(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -11,6 +11,7 @@ import (
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
"github.com/mattermost/mattermost-server/v6/utils" "github.com/mattermost/mattermost-server/v6/utils"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
@@ -134,7 +135,9 @@ func addLicense(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(license.ToJson())) if err := json.NewEncoder(w).Encode(license); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func removeLicense(c *Context, w http.ResponseWriter, r *http.Request) { func removeLicense(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -5,11 +5,13 @@ package api4
import ( import (
"bytes" "bytes"
"encoding/json"
"io" "io"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitLicenseLocal() { func (api *API) InitLicenseLocal() {
@@ -70,7 +72,9 @@ func localAddLicense(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(license.ToJson())) if err := json.NewEncoder(w).Encode(license); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localRemoveLicense(c *Context, w http.ResponseWriter, r *http.Request) { func localRemoveLicense(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitOAuth() { func (api *API) InitOAuth() {
@@ -55,7 +57,9 @@ func createOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("client_id=" + rapp.Id) c.LogAudit("client_id=" + rapp.Id)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rapp.ToJson())) if err := json.NewEncoder(w).Encode(rapp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { func updateOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -112,7 +116,9 @@ func updateOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("update", updatedOAuthApp) auditRec.AddMeta("update", updatedOAuthApp)
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(updatedOAuthApp.ToJson())) if err := json.NewEncoder(w).Encode(updatedOAuthApp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getOAuthApps(c *Context, w http.ResponseWriter, r *http.Request) { func getOAuthApps(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -162,7 +168,9 @@ func getOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(oauthApp.ToJson())) if err := json.NewEncoder(w).Encode(oauthApp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getOAuthAppInfo(c *Context, w http.ResponseWriter, r *http.Request) { func getOAuthAppInfo(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -178,7 +186,9 @@ func getOAuthAppInfo(c *Context, w http.ResponseWriter, r *http.Request) {
} }
oauthApp.Sanitize() oauthApp.Sanitize()
w.Write([]byte(oauthApp.ToJson())) if err := json.NewEncoder(w).Encode(oauthApp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { func deleteOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -257,7 +267,9 @@ func regenerateOAuthAppSecret(c *Context, w http.ResponseWriter, r *http.Request
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(oauthApp.ToJson())) if err := json.NewEncoder(w).Encode(oauthApp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getAuthorizedOAuthApps(c *Context, w http.ResponseWriter, r *http.Request) { func getAuthorizedOAuthApps(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -162,7 +162,9 @@ func installMarketplacePlugin(c *Context, w http.ResponseWriter, r *http.Request
auditRec.AddMeta("plugin_desc", manifest.Description) auditRec.AddMeta("plugin_desc", manifest.Description)
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(manifest.ToJson())) if err := json.NewEncoder(w).Encode(manifest); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPlugins(c *Context, w http.ResponseWriter, r *http.Request) { func getPlugins(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -182,7 +184,9 @@ func getPlugins(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(response.ToJson())) if err := json.NewEncoder(w).Encode(response); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPluginStatuses(c *Context, w http.ResponseWriter, r *http.Request) { func getPluginStatuses(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -202,7 +206,9 @@ func getPluginStatuses(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(response.ToJson())) if err := json.NewEncoder(w).Encode(response); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func removePlugin(c *Context, w http.ResponseWriter, r *http.Request) { func removePlugin(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -386,7 +392,9 @@ func installPlugin(c *Context, w http.ResponseWriter, plugin io.ReadSeeker, forc
return return
} }
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(manifest.ToJson())) if err := json.NewEncoder(w).Encode(manifest); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func setFirstAdminVisitMarketplaceStatus(c *Context, w http.ResponseWriter, r *http.Request) { func setFirstAdminVisitMarketplaceStatus(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -444,5 +452,7 @@ func getFirstAdminVisitMarketplaceStatus(c *Context, w http.ResponseWriter, r *h
} }
auditRec.Success() auditRec.Success()
w.Write([]byte(firstAdminVisitMarketplaceObj.ToJson())) if err := json.NewEncoder(w).Encode(firstAdminVisitMarketplaceObj); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -96,7 +96,9 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
// Note that rp has already had PreparePostForClient called on it by App.CreatePost // Note that rp has already had PreparePostForClient called on it by App.CreatePost
w.Write([]byte(rp.ToJson())) if err := json.NewEncoder(w).Encode(rp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func createEphemeralPost(c *Context, w http.ResponseWriter, r *http.Request) { func createEphemeralPost(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -126,7 +128,9 @@ func createEphemeralPost(c *Context, w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
rp = model.AddPostActionCookies(rp, c.App.PostActionCookieSecret()) rp = model.AddPostActionCookies(rp, c.App.PostActionCookieSecret())
rp = c.App.PreparePostForClient(rp, true, false) rp = c.App.PreparePostForClient(rp, true, false)
w.Write([]byte(rp.ToJson())) if err := json.NewEncoder(w).Encode(rp); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPostsForChannel(c *Context, w http.ResponseWriter, r *http.Request) { func getPostsForChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -213,7 +217,9 @@ func getPostsForChannel(c *Context, w http.ResponseWriter, r *http.Request) {
c.App.AddCursorIdsForPostList(list, afterPost, beforePost, since, page, perPage, collapsedThreads) c.App.AddCursorIdsForPostList(list, afterPost, beforePost, since, page, perPage, collapsedThreads)
clientPostList := c.App.PreparePostListForClient(list) clientPostList := c.App.PreparePostListForClient(list)
w.Write([]byte(clientPostList.ToJson())) if err := json.NewEncoder(w).Encode(clientPostList); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPostsForChannelAroundLastUnread(c *Context, w http.ResponseWriter, r *http.Request) { func getPostsForChannelAroundLastUnread(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -272,7 +278,9 @@ func getPostsForChannelAroundLastUnread(c *Context, w http.ResponseWriter, r *ht
if etag != "" { if etag != "" {
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
} }
w.Write([]byte(clientPostList.ToJson())) if err := json.NewEncoder(w).Encode(clientPostList); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getFlaggedPostsForUser(c *Context, w http.ResponseWriter, r *http.Request) { func getFlaggedPostsForUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -329,7 +337,9 @@ func getFlaggedPostsForUser(c *Context, w http.ResponseWriter, r *http.Request)
} }
pl.SortByCreateAt() pl.SortByCreateAt()
w.Write([]byte(c.App.PreparePostListForClient(pl).ToJson())) if err := json.NewEncoder(w).Encode(c.App.PreparePostListForClient(pl)); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPost(c *Context, w http.ResponseWriter, r *http.Request) { func getPost(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -369,7 +379,9 @@ func getPost(c *Context, w http.ResponseWriter, r *http.Request) {
} }
w.Header().Set(model.HeaderEtagServer, post.Etag()) w.Header().Set(model.HeaderEtagServer, post.Etag())
w.Write([]byte(post.ToJson())) if err := json.NewEncoder(w).Encode(post); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deletePost(c *Context, w http.ResponseWriter, _ *http.Request) { func deletePost(c *Context, w http.ResponseWriter, _ *http.Request) {
@@ -456,7 +468,9 @@ func getPostThread(c *Context, w http.ResponseWriter, r *http.Request) {
w.Header().Set(model.HeaderEtagServer, clientPostList.Etag()) w.Header().Set(model.HeaderEtagServer, clientPostList.Etag())
w.Write([]byte(clientPostList.ToJson())) if err := json.NewEncoder(w).Encode(clientPostList); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func searchPosts(c *Context, w http.ResponseWriter, r *http.Request) { func searchPosts(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -528,7 +542,9 @@ func searchPosts(c *Context, w http.ResponseWriter, r *http.Request) {
results = model.MakePostSearchResults(clientPostList, results.Matches) results = model.MakePostSearchResults(clientPostList, results.Matches)
w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
w.Write([]byte(results.ToJson())) if err := json.NewEncoder(w).Encode(results); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updatePost(c *Context, w http.ResponseWriter, r *http.Request) { func updatePost(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -586,7 +602,9 @@ func updatePost(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
auditRec.AddMeta("update", rpost) auditRec.AddMeta("update", rpost)
w.Write([]byte(rpost.ToJson())) if err := json.NewEncoder(w).Encode(rpost); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func patchPost(c *Context, w http.ResponseWriter, r *http.Request) { func patchPost(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -636,7 +654,9 @@ func patchPost(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
auditRec.AddMeta("patch", patchedPost) auditRec.AddMeta("patch", patchedPost)
w.Write([]byte(patchedPost.ToJson())) if err := json.NewEncoder(w).Encode(patchedPost); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func setPostUnread(c *Context, w http.ResponseWriter, r *http.Request) { func setPostUnread(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -662,7 +682,9 @@ func setPostUnread(c *Context, w http.ResponseWriter, r *http.Request) {
c.Err = err c.Err = err
return return
} }
w.Write([]byte(state.ToJson())) if err := json.NewEncoder(w).Encode(state); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func saveIsPinnedPost(c *Context, w http.ResponseWriter, isPinned bool) { func saveIsPinnedPost(c *Context, w http.ResponseWriter, isPinned bool) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitPreference() { func (api *API) InitPreference() {
@@ -35,7 +37,9 @@ func getPreferences(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(preferences.ToJson())) if err := json.NewEncoder(w).Encode(preferences); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPreferencesByCategory(c *Context, w http.ResponseWriter, r *http.Request) { func getPreferencesByCategory(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -55,7 +59,9 @@ func getPreferencesByCategory(c *Context, w http.ResponseWriter, r *http.Request
return return
} }
w.Write([]byte(preferences.ToJson())) if err := json.NewEncoder(w).Encode(preferences); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getPreferenceByCategoryAndName(c *Context, w http.ResponseWriter, r *http.Request) { func getPreferenceByCategoryAndName(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -75,7 +81,9 @@ func getPreferenceByCategoryAndName(c *Context, w http.ResponseWriter, r *http.R
return return
} }
w.Write([]byte(preferences.ToJson())) if err := json.NewEncoder(w).Encode(preferences); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updatePreferences(c *Context, w http.ResponseWriter, r *http.Request) { func updatePreferences(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,9 +4,11 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitReaction() { func (api *API) InitReaction() {
@@ -44,7 +46,9 @@ func saveReaction(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(reaction.ToJson())) if err := json.NewEncoder(w).Encode(reaction); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getReactions(c *Context, w http.ResponseWriter, r *http.Request) { func getReactions(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -13,6 +13,7 @@ import (
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/services/remotecluster" "github.com/mattermost/mattermost-server/v6/services/remotecluster"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitRemoteCluster() { func (api *API) InitRemoteCluster() {
@@ -213,7 +214,9 @@ func uploadRemoteData(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(info.ToJson())) if err := json.NewEncoder(w).Encode(info); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func remoteSetProfileImage(c *Context, w http.ResponseWriter, r *http.Request) { func remoteSetProfileImage(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
var notAllowedPermissions = []string{ var notAllowedPermissions = []string{
@@ -35,7 +37,9 @@ func getRole(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(role.ToJson())) if err := json.NewEncoder(w).Encode(role); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getRoleByName(c *Context, w http.ResponseWriter, r *http.Request) { func getRoleByName(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -50,7 +54,9 @@ func getRoleByName(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(role.ToJson())) if err := json.NewEncoder(w).Encode(role); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getRolesByNames(c *Context, w http.ResponseWriter, r *http.Request) { func getRolesByNames(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -167,5 +173,7 @@ func patchRole(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("patch", role) auditRec.AddMeta("patch", role)
c.LogAudit("") c.LogAudit("")
w.Write([]byte(role.ToJson())) if err := json.NewEncoder(w).Encode(role); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -12,6 +12,7 @@ import (
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitSaml() { func (api *API) InitSaml() {
@@ -230,7 +231,9 @@ func getSamlCertificateStatus(c *Context, w http.ResponseWriter, r *http.Request
} }
status := c.App.GetSamlCertificateStatus() status := c.App.GetSamlCertificateStatus()
w.Write([]byte(status.ToJson())) if err := json.NewEncoder(w).Encode(status); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getSamlMetadataFromIdp(c *Context, w http.ResponseWriter, r *http.Request) { func getSamlMetadataFromIdp(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -252,7 +255,9 @@ func getSamlMetadataFromIdp(c *Context, w http.ResponseWriter, r *http.Request)
return return
} }
w.Write([]byte(metadata.ToJson())) if err := json.NewEncoder(w).Encode(metadata); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func resetAuthDataToEmail(c *Context, w http.ResponseWriter, r *http.Request) { func resetAuthDataToEmail(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitScheme() { func (api *API) InitScheme() {
@@ -51,7 +53,9 @@ func createScheme(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("scheme", scheme) // overwrite meta auditRec.AddMeta("scheme", scheme) // overwrite meta
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(scheme.ToJson())) if err := json.NewEncoder(w).Encode(scheme); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getScheme(c *Context, w http.ResponseWriter, r *http.Request) { func getScheme(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -71,7 +75,9 @@ func getScheme(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(scheme.ToJson())) if err := json.NewEncoder(w).Encode(scheme); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getSchemes(c *Context, w http.ResponseWriter, r *http.Request) { func getSchemes(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -154,7 +160,9 @@ func getChannelsForScheme(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(channels.ToJson())) if err := json.NewEncoder(w).Encode(channels); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func patchScheme(c *Context, w http.ResponseWriter, r *http.Request) { func patchScheme(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -199,7 +207,9 @@ func patchScheme(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("") c.LogAudit("")
w.Write([]byte(scheme.ToJson())) if err := json.NewEncoder(w).Encode(scheme); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteScheme(c *Context, w http.ResponseWriter, r *http.Request) { func deleteScheme(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,9 +4,11 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitStatus() { func (api *API) InitStatus() {
@@ -41,7 +43,9 @@ func getUserStatus(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(statusMap[0].ToJson())) if err := json.NewEncoder(w).Encode(statusMap[0]); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getUserStatusesByIds(c *Context, w http.ResponseWriter, r *http.Request) { func getUserStatusesByIds(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -260,7 +260,9 @@ func getAudits(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("page", c.Params.Page) auditRec.AddMeta("page", c.Params.Page)
auditRec.AddMeta("audits_per_page", c.Params.LogsPerPage) auditRec.AddMeta("audits_per_page", c.Params.LogsPerPage)
w.Write([]byte(audits.ToJson())) if err := json.NewEncoder(w).Encode(audits); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func databaseRecycle(c *Context, w http.ResponseWriter, r *http.Request) { func databaseRecycle(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -397,7 +399,9 @@ func getAnalytics(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(rows.ToJson())) if err := json.NewEncoder(w).Encode(rows); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getSupportedTimezones(c *Context, w http.ResponseWriter, r *http.Request) { func getSupportedTimezones(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -539,7 +543,9 @@ func pushNotificationAck(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(msg.ToJson())) if err2 := json.NewEncoder(w).Encode(msg); err2 != nil {
mlog.Warn("Error while writing response", mlog.Err(err2))
}
return return
} else if err != nil { } else if err != nil {
@@ -600,7 +606,12 @@ func getServerBusyExpires(c *Context, w http.ResponseWriter, r *http.Request) {
c.SetPermissionError(model.PermissionManageSystem) c.SetPermissionError(model.PermissionManageSystem)
return return
} }
w.Write([]byte(c.App.Srv().Busy.ToJson()))
// We call to ToJson because it actually returns a different struct
// along with doing some computations.
if _, err := w.Write([]byte(c.App.Srv().Busy.ToJson())); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func upgradeToEnterprise(c *Context, w http.ResponseWriter, r *http.Request) { func upgradeToEnterprise(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -17,6 +17,7 @@ import (
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
const ( const (
@@ -105,7 +106,9 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("team", team) // overwrite meta auditRec.AddMeta("team", team) // overwrite meta
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rteam.ToJson())) if err := json.NewEncoder(w).Encode(rteam); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getTeam(c *Context, w http.ResponseWriter, r *http.Request) { func getTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -126,7 +129,9 @@ func getTeam(c *Context, w http.ResponseWriter, r *http.Request) {
} }
c.App.SanitizeTeam(*c.AppContext.Session(), team) c.App.SanitizeTeam(*c.AppContext.Session(), team)
w.Write([]byte(team.ToJson())) if err := json.NewEncoder(w).Encode(team); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getTeamByName(c *Context, w http.ResponseWriter, r *http.Request) { func getTeamByName(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -147,7 +152,9 @@ func getTeamByName(c *Context, w http.ResponseWriter, r *http.Request) {
} }
c.App.SanitizeTeam(*c.AppContext.Session(), team) c.App.SanitizeTeam(*c.AppContext.Session(), team)
w.Write([]byte(team.ToJson())) if err := json.NewEncoder(w).Encode(team); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) { func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -189,7 +196,9 @@ func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("update", updatedTeam) auditRec.AddMeta("update", updatedTeam)
c.App.SanitizeTeam(*c.AppContext.Session(), updatedTeam) c.App.SanitizeTeam(*c.AppContext.Session(), updatedTeam)
w.Write([]byte(updatedTeam.ToJson())) if err := json.NewEncoder(w).Encode(updatedTeam); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func patchTeam(c *Context, w http.ResponseWriter, r *http.Request) { func patchTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -230,7 +239,9 @@ func patchTeam(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("patched", patchedTeam) auditRec.AddMeta("patched", patchedTeam)
c.LogAudit("") c.LogAudit("")
w.Write([]byte(patchedTeam.ToJson())) if err := json.NewEncoder(w).Encode(patchedTeam); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func restoreTeam(c *Context, w http.ResponseWriter, r *http.Request) { func restoreTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -264,7 +275,9 @@ func restoreTeam(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("team", team) auditRec.AddMeta("team", team)
auditRec.Success() auditRec.Success()
w.Write([]byte(team.ToJson())) if err := json.NewEncoder(w).Encode(team); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateTeamPrivacy(c *Context, w http.ResponseWriter, r *http.Request) { func updateTeamPrivacy(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -316,7 +329,9 @@ func updateTeamPrivacy(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("team", team) auditRec.AddMeta("team", team)
auditRec.Success() auditRec.Success()
w.Write([]byte(team.ToJson())) if err := json.NewEncoder(w).Encode(team); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func regenerateTeamInviteId(c *Context, w http.ResponseWriter, r *http.Request) { func regenerateTeamInviteId(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -345,7 +360,9 @@ func regenerateTeamInviteId(c *Context, w http.ResponseWriter, r *http.Request)
auditRec.AddMeta("team", patchedTeam) auditRec.AddMeta("team", patchedTeam)
c.LogAudit("") c.LogAudit("")
w.Write([]byte(patchedTeam.ToJson())) if err := json.NewEncoder(w).Encode(patchedTeam); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteTeam(c *Context, w http.ResponseWriter, r *http.Request) { func deleteTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -459,7 +476,9 @@ func getTeamMember(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(team.ToJson())) if err := json.NewEncoder(w).Encode(team); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) { func getTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -644,7 +663,9 @@ func addTeamMember(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(member.ToJson())) if err := json.NewEncoder(w).Encode(member); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func addUserToTeamFromInvite(c *Context, w http.ResponseWriter, r *http.Request) { func addUserToTeamFromInvite(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -682,7 +703,9 @@ func addUserToTeamFromInvite(c *Context, w http.ResponseWriter, r *http.Request)
} }
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(member.ToJson())) if err := json.NewEncoder(w).Encode(member); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func addTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) { func addTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -854,7 +877,9 @@ func getTeamUnread(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(unreadTeam.ToJson())) if err := json.NewEncoder(w).Encode(unreadTeam); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) { func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -880,7 +905,9 @@ func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(stats.ToJson())) if err := json.NewEncoder(w).Encode(stats); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateTeamMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) { func updateTeamMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"fmt" "fmt"
"net/http" "net/http"
"strings" "strings"
@@ -13,6 +14,7 @@ import (
"github.com/mattermost/mattermost-server/v6/app/email" "github.com/mattermost/mattermost-server/v6/app/email"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
"github.com/mattermost/mattermost-server/v6/store" "github.com/mattermost/mattermost-server/v6/store"
) )
@@ -220,5 +222,7 @@ func localCreateTeam(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("team", team) // overwrite meta auditRec.AddMeta("team", team) // overwrite meta
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rteam.ToJson())) if err := json.NewEncoder(w).Encode(rteam); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }

Просмотреть файл

@@ -4,11 +4,13 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/app" "github.com/mattermost/mattermost-server/v6/app"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitTermsOfService() { func (api *API) InitTermsOfService() {
@@ -23,7 +25,9 @@ func getLatestTermsOfService(c *Context, w http.ResponseWriter, r *http.Request)
return return
} }
w.Write([]byte(termsOfService.ToJson())) if err := json.NewEncoder(w).Encode(termsOfService); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func createTermsOfService(c *Context, w http.ResponseWriter, r *http.Request) { func createTermsOfService(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -62,9 +66,13 @@ func createTermsOfService(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(termsOfService.ToJson())) if err := json.NewEncoder(w).Encode(termsOfService); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} else { } else {
w.Write([]byte(oldTermsOfService.ToJson())) if err := json.NewEncoder(w).Encode(oldTermsOfService); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
auditRec.Success() auditRec.Success()
} }

Просмотреть файл

@@ -4,6 +4,7 @@
package api4 package api4
import ( import (
"encoding/json"
"errors" "errors"
"io" "io"
"mime/multipart" "mime/multipart"
@@ -11,6 +12,7 @@ import (
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitUpload() { func (api *API) InitUpload() {
@@ -66,7 +68,9 @@ func createUpload(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(us.ToJson())) if err := json.NewEncoder(w).Encode(us); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getUpload(c *Context, w http.ResponseWriter, r *http.Request) { func getUpload(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -86,7 +90,9 @@ func getUpload(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(us.ToJson())) if err := json.NewEncoder(w).Encode(us); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func uploadData(c *Context, w http.ResponseWriter, r *http.Request) { func uploadData(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -136,7 +142,9 @@ func uploadData(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(info.ToJson())) if err := json.NewEncoder(w).Encode(info); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func doUploadData(c *Context, us *model.UploadSession, r *http.Request) (*model.FileInfo, *model.AppError) { func doUploadData(c *Context, us *model.UploadSession, r *http.Request) (*model.FileInfo, *model.AppError) {

Просмотреть файл

@@ -176,7 +176,9 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("user", ruser) // overwrite meta auditRec.AddMeta("user", ruser) // overwrite meta
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(ruser.ToJson())) if err := json.NewEncoder(w).Encode(ruser); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getUser(c *Context, w http.ResponseWriter, r *http.Request) { func getUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -228,7 +230,9 @@ func getUser(c *Context, w http.ResponseWriter, r *http.Request) {
} }
c.App.UpdateLastActivityAtIfNeeded(*c.AppContext.Session()) c.App.UpdateLastActivityAtIfNeeded(*c.AppContext.Session())
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getUserByUsername(c *Context, w http.ResponseWriter, r *http.Request) { func getUserByUsername(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -288,7 +292,9 @@ func getUserByUsername(c *Context, w http.ResponseWriter, r *http.Request) {
c.App.SanitizeProfile(user, c.IsSystemAdmin()) c.App.SanitizeProfile(user, c.IsSystemAdmin())
} }
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) { func getUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -337,7 +343,9 @@ func getUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) {
c.App.SanitizeProfile(user, c.IsSystemAdmin()) c.App.SanitizeProfile(user, c.IsSystemAdmin())
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getDefaultProfileImage(c *Context, w http.ResponseWriter, r *http.Request) { func getDefaultProfileImage(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -546,7 +554,9 @@ func getTotalUsersStats(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(stats.ToJson())) if err := json.NewEncoder(w).Encode(stats); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getFilteredUsersStats(c *Context, w http.ResponseWriter, r *http.Request) { func getFilteredUsersStats(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -608,7 +618,9 @@ func getFilteredUsersStats(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(stats.ToJson())) if err := json.NewEncoder(w).Encode(stats); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getUsersByGroupChannelIds(c *Context, w http.ResponseWriter, r *http.Request) { func getUsersByGroupChannelIds(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1069,7 +1081,9 @@ func autocompleteUsers(c *Context, w http.ResponseWriter, r *http.Request) {
autocomplete.Users = result autocomplete.Users = result
} }
w.Write([]byte((autocomplete.ToJson()))) if err := json.NewEncoder(w).Encode(autocomplete); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateUser(c *Context, w http.ResponseWriter, r *http.Request) { func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1147,7 +1161,9 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("update", ruser) auditRec.AddMeta("update", ruser)
c.LogAudit("") c.LogAudit("")
w.Write([]byte(ruser.ToJson())) if err := json.NewEncoder(w).Encode(ruser); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func patchUser(c *Context, w http.ResponseWriter, r *http.Request) { func patchUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1224,7 +1240,9 @@ func patchUser(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("patch", ruser) auditRec.AddMeta("patch", ruser)
c.LogAudit("") c.LogAudit("")
w.Write([]byte(ruser.ToJson())) if err := json.NewEncoder(w).Encode(ruser); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteUser(c *Context, w http.ResponseWriter, r *http.Request) { func deleteUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1458,7 +1476,9 @@ func updateUserAuth(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("auth_service", user.AuthService) auditRec.AddMeta("auth_service", user.AuthService)
c.LogAudit(fmt.Sprintf("updated user %s auth to service=%v", c.Params.UserId, user.AuthService)) c.LogAudit(fmt.Sprintf("updated user %s auth to service=%v", c.Params.UserId, user.AuthService))
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
// Deprecated: checkUserMfa is deprecated and should not be used anymore, starting with version 6.0 it will be disabled. // Deprecated: checkUserMfa is deprecated and should not be used anymore, starting with version 6.0 it will be disabled.
@@ -1575,7 +1595,9 @@ func generateMfaSecret(c *Context, w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-cache") w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Pragma", "no-cache") w.Header().Set("Pragma", "no-cache")
w.Header().Set("Expires", "0") w.Header().Set("Expires", "0")
w.Write([]byte(secret.ToJson())) if err := json.NewEncoder(w).Encode(secret); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updatePassword(c *Context, w http.ResponseWriter, r *http.Request) { func updatePassword(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -1841,7 +1863,9 @@ func login(c *Context, w http.ResponseWriter, r *http.Request) {
user.Sanitize(map[string]bool{}) user.Sanitize(map[string]bool{})
auditRec.Success() auditRec.Success()
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) { func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2105,7 +2129,9 @@ func getUserAudits(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("page", c.Params.Page) auditRec.AddMeta("page", c.Params.Page)
auditRec.AddMeta("audits_per_page", c.Params.LogsPerPage) auditRec.AddMeta("audits_per_page", c.Params.LogsPerPage)
w.Write([]byte(audits.ToJson())) if err := json.NewEncoder(w).Encode(audits); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func verifyUserEmail(c *Context, w http.ResponseWriter, r *http.Request) { func verifyUserEmail(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2265,7 +2291,9 @@ func createUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("token_id", accessToken.Id) auditRec.AddMeta("token_id", accessToken.Id)
c.LogAudit("success - token_id=" + accessToken.Id) c.LogAudit("success - token_id=" + accessToken.Id)
w.Write([]byte(accessToken.ToJson())) if err := json.NewEncoder(w).Encode(accessToken); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func searchUserAccessTokens(c *Context, w http.ResponseWriter, r *http.Request) { func searchUserAccessTokens(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2355,7 +2383,9 @@ func getUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(accessToken.ToJson())) if err := json.NewEncoder(w).Encode(accessToken); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func revokeUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) { func revokeUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2539,7 +2569,9 @@ func getUserTermsOfService(c *Context, w http.ResponseWriter, r *http.Request) {
c.Err = err c.Err = err
return return
} }
w.Write([]byte(result.ToJson())) if err := json.NewEncoder(w).Encode(result); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func promoteGuestToUser(c *Context, w http.ResponseWriter, r *http.Request) { func promoteGuestToUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2687,7 +2719,9 @@ func verifyUserEmailWithoutToken(c *Context, w http.ResponseWriter, r *http.Requ
auditRec.Success() auditRec.Success()
c.LogAudit("user verified") c.LogAudit("user verified")
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func convertUserToBot(c *Context, w http.ResponseWriter, r *http.Request) { func convertUserToBot(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2885,7 +2919,9 @@ func getThreadForUser(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(thread.ToJson())) if err := json.NewEncoder(w).Encode(thread); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getThreadsForUser(c *Context, w http.ResponseWriter, r *http.Request) { func getThreadsForUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2950,7 +2986,9 @@ func getThreadsForUser(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
w.Write([]byte(threads.ToJson())) if err := json.NewEncoder(w).Encode(threads); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateReadStateThreadByUser(c *Context, w http.ResponseWriter, r *http.Request) { func updateReadStateThreadByUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -2976,7 +3014,9 @@ func updateReadStateThreadByUser(c *Context, w http.ResponseWriter, r *http.Requ
return return
} }
w.Write([]byte(thread.ToJson())) if err := json.NewEncoder(w).Encode(thread); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
auditRec.Success() auditRec.Success()
} }

Просмотреть файл

@@ -4,11 +4,13 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"strconv" "strconv"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
"github.com/mattermost/mattermost-server/v6/store" "github.com/mattermost/mattermost-server/v6/store"
) )
@@ -209,7 +211,9 @@ func localGetUser(c *Context, w http.ResponseWriter, r *http.Request) {
c.App.SanitizeProfile(user, c.IsSystemAdmin()) c.App.SanitizeProfile(user, c.IsSystemAdmin())
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localDeleteUser(c *Context, w http.ResponseWriter, r *http.Request) { func localDeleteUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -288,7 +292,9 @@ func localGetUserByUsername(c *Context, w http.ResponseWriter, r *http.Request)
c.App.SanitizeProfile(user, c.IsSystemAdmin()) c.App.SanitizeProfile(user, c.IsSystemAdmin())
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localGetUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) { func localGetUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -317,7 +323,9 @@ func localGetUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) {
c.App.SanitizeProfile(user, c.IsSystemAdmin()) c.App.SanitizeProfile(user, c.IsSystemAdmin())
w.Header().Set(model.HeaderEtagServer, etag) w.Header().Set(model.HeaderEtagServer, etag)
w.Write([]byte(user.ToJson())) if err := json.NewEncoder(w).Encode(user); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localGetUploadsForUser(c *Context, w http.ResponseWriter, r *http.Request) { func localGetUploadsForUser(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitWebhook() { func (api *API) InitWebhook() {
@@ -81,7 +83,9 @@ func createIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("success") c.LogAudit("success")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(incomingHook.ToJson())) if err := json.NewEncoder(w).Encode(incomingHook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func updateIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { func updateIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -163,7 +167,9 @@ func updateIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("success") c.LogAudit("success")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(incomingHook.ToJson())) if err := json.NewEncoder(w).Encode(incomingHook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getIncomingHooks(c *Context, w http.ResponseWriter, r *http.Request) { func getIncomingHooks(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -255,7 +261,9 @@ func getIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(hook.ToJson())) if err := json.NewEncoder(w).Encode(hook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { func deleteIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -375,7 +383,9 @@ func updateOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(rhook.ToJson())) if err := json.NewEncoder(w).Encode(rhook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -425,7 +435,9 @@ func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("success") c.LogAudit("success")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rhook.ToJson())) if err := json.NewEncoder(w).Encode(rhook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func getOutgoingHooks(c *Context, w http.ResponseWriter, r *http.Request) { func getOutgoingHooks(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -516,7 +528,9 @@ func getOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(hook.ToJson())) if err := json.NewEncoder(w).Encode(hook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func regenOutgoingHookToken(c *Context, w http.ResponseWriter, r *http.Request) { func regenOutgoingHookToken(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -559,7 +573,9 @@ func regenOutgoingHookToken(c *Context, w http.ResponseWriter, r *http.Request)
auditRec.Success() auditRec.Success()
c.LogAudit("success") c.LogAudit("success")
w.Write([]byte(rhook.ToJson())) if err := json.NewEncoder(w).Encode(rhook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func deleteOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { func deleteOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) {

Просмотреть файл

@@ -4,10 +4,12 @@
package api4 package api4
import ( import (
"encoding/json"
"net/http" "net/http"
"github.com/mattermost/mattermost-server/v6/audit" "github.com/mattermost/mattermost-server/v6/audit"
"github.com/mattermost/mattermost-server/v6/model" "github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
) )
func (api *API) InitWebhookLocal() { func (api *API) InitWebhookLocal() {
@@ -63,7 +65,9 @@ func localCreateIncomingHook(c *Context, w http.ResponseWriter, r *http.Request)
c.LogAudit("success") c.LogAudit("success")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(incomingHook.ToJson())) if err := json.NewEncoder(w).Encode(incomingHook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }
func localCreateOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { func localCreateOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -103,5 +107,7 @@ func localCreateOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request)
c.LogAudit("success") c.LogAudit("success")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
w.Write([]byte(rhook.ToJson())) if err := json.NewEncoder(w).Encode(rhook); err != nil {
mlog.Warn("Error while writing response", mlog.Err(err))
}
} }