From 34a3fe426b33a63f2d8e02d4a70c88f137fa5410 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Fri, 6 Jul 2018 20:39:28 -0700 Subject: Compress HTML responses to Gzip/Deflate if supported by browser --- http/response/html/html.go | 5 +++-- http/response/response.go | 23 +++++++++++++++++++++++ ui/about.go | 2 +- ui/bookmark_entries.go | 2 +- ui/category_create.go | 2 +- ui/category_edit.go | 2 +- ui/category_entries.go | 2 +- ui/category_list.go | 2 +- ui/category_save.go | 6 +++--- ui/category_update.go | 6 +++--- ui/entry_bookmark.go | 2 +- ui/entry_category.go | 2 +- ui/entry_feed.go | 2 +- ui/entry_read.go | 2 +- ui/entry_search.go | 2 +- ui/entry_unread.go | 2 +- ui/feed_edit.go | 2 +- ui/feed_entries.go | 2 +- ui/feed_list.go | 2 +- ui/feed_update.go | 4 ++-- ui/history_entries.go | 2 +- ui/integration_show.go | 2 +- ui/login_check.go | 4 ++-- ui/login_show.go | 2 +- ui/opml_import.go | 2 +- ui/opml_upload.go | 4 ++-- ui/search_entries.go | 2 +- ui/session_list.go | 2 +- ui/settings_show.go | 2 +- ui/settings_update.go | 6 +++--- ui/subscription_add.go | 2 +- ui/subscription_bookmarklet.go | 2 +- ui/subscription_choose.go | 4 ++-- ui/subscription_submit.go | 10 +++++----- ui/unread_entries.go | 2 +- ui/user_create.go | 2 +- ui/user_edit.go | 2 +- ui/user_list.go | 2 +- ui/user_save.go | 6 +++--- ui/user_update.go | 6 +++--- 40 files changed, 82 insertions(+), 58 deletions(-) diff --git a/http/response/html/html.go b/http/response/html/html.go index 4f605e8..a17ce04 100644 --- a/http/response/html/html.go +++ b/http/response/html/html.go @@ -7,13 +7,14 @@ package html import ( "net/http" + "github.com/miniflux/miniflux/http/response" "github.com/miniflux/miniflux/logger" ) // OK writes a standard HTML response. -func OK(w http.ResponseWriter, b []byte) { +func OK(w http.ResponseWriter, r *http.Request, b []byte) { w.Header().Set("Content-Type", "text/html; charset=utf-8") - w.Write(b) + response.Compress(w, r, b) } // ServerError sends a 500 error to the browser. diff --git a/http/response/response.go b/http/response/response.go index 066d061..c5ae3fa 100644 --- a/http/response/response.go +++ b/http/response/response.go @@ -5,7 +5,10 @@ package response import ( + "compress/flate" + "compress/gzip" "net/http" + "strings" "time" ) @@ -32,3 +35,23 @@ func Cache(w http.ResponseWriter, r *http.Request, mimeType, etag string, conten w.Write(content) } } + +// Compress the response sent to the browser. +func Compress(w http.ResponseWriter, r *http.Request, data []byte) { + acceptEncoding := r.Header.Get("Accept-Encoding") + + switch { + case strings.Contains(acceptEncoding, "gzip"): + w.Header().Set("Content-Encoding", "gzip") + gzipWriter := gzip.NewWriter(w) + defer gzipWriter.Close() + gzipWriter.Write(data) + case strings.Contains(acceptEncoding, "deflate"): + w.Header().Set("Content-Encoding", "deflate") + flateWriter, _ := flate.NewWriter(w, -1) + defer flateWriter.Close() + flateWriter.Write(data) + default: + w.Write(data) + } +} diff --git a/ui/about.go b/ui/about.go index 7618e01..9a2bcfb 100644 --- a/ui/about.go +++ b/ui/about.go @@ -32,5 +32,5 @@ func (c *Controller) About(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("about")) + html.OK(w, r, view.Render("about")) } diff --git a/ui/bookmark_entries.go b/ui/bookmark_entries.go index 2dac892..9d64119 100644 --- a/ui/bookmark_entries.go +++ b/ui/bookmark_entries.go @@ -58,5 +58,5 @@ func (c *Controller) ShowStarredPage(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("bookmark_entries")) + html.OK(w, r, view.Render("bookmark_entries")) } diff --git a/ui/category_create.go b/ui/category_create.go index 6060620..7c0e0d9 100644 --- a/ui/category_create.go +++ b/ui/category_create.go @@ -29,5 +29,5 @@ func (c *Controller) CreateCategory(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("create_category")) + html.OK(w, r, view.Render("create_category")) } diff --git a/ui/category_edit.go b/ui/category_edit.go index df8f619..e84c96d 100644 --- a/ui/category_edit.go +++ b/ui/category_edit.go @@ -54,5 +54,5 @@ func (c *Controller) EditCategory(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("edit_category")) + html.OK(w, r, view.Render("edit_category")) } diff --git a/ui/category_entries.go b/ui/category_entries.go index 50ec90b..49ff891 100644 --- a/ui/category_entries.go +++ b/ui/category_entries.go @@ -75,5 +75,5 @@ func (c *Controller) CategoryEntries(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("category_entries")) + html.OK(w, r, view.Render("category_entries")) } diff --git a/ui/category_list.go b/ui/category_list.go index c315d77..dea961f 100644 --- a/ui/category_list.go +++ b/ui/category_list.go @@ -37,5 +37,5 @@ func (c *Controller) CategoryList(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("categories")) + html.OK(w, r, view.Render("categories")) } diff --git a/ui/category_save.go b/ui/category_save.go index d186b28..bdf10a8 100644 --- a/ui/category_save.go +++ b/ui/category_save.go @@ -39,7 +39,7 @@ func (c *Controller) SaveCategory(w http.ResponseWriter, r *http.Request) { if err := categoryForm.Validate(); err != nil { view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("create_category")) + html.OK(w, r, view.Render("create_category")) return } @@ -51,7 +51,7 @@ func (c *Controller) SaveCategory(w http.ResponseWriter, r *http.Request) { if duplicateCategory != nil { view.Set("errorMessage", "This category already exists.") - html.OK(w, view.Render("create_category")) + html.OK(w, r, view.Render("create_category")) return } @@ -63,7 +63,7 @@ func (c *Controller) SaveCategory(w http.ResponseWriter, r *http.Request) { if err = c.store.CreateCategory(&category); err != nil { logger.Error("[Controller:CreateCategory] %v", err) view.Set("errorMessage", "Unable to create this category.") - html.OK(w, view.Render("create_category")) + html.OK(w, r, view.Render("create_category")) return } diff --git a/ui/category_update.go b/ui/category_update.go index daa6a02..bf21734 100644 --- a/ui/category_update.go +++ b/ui/category_update.go @@ -57,13 +57,13 @@ func (c *Controller) UpdateCategory(w http.ResponseWriter, r *http.Request) { if err := categoryForm.Validate(); err != nil { view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("edit_category")) + html.OK(w, r, view.Render("edit_category")) return } if c.store.AnotherCategoryExists(user.ID, category.ID, categoryForm.Title) { view.Set("errorMessage", "This category already exists.") - html.OK(w, view.Render("edit_category")) + html.OK(w, r, view.Render("edit_category")) return } @@ -71,7 +71,7 @@ func (c *Controller) UpdateCategory(w http.ResponseWriter, r *http.Request) { if err != nil { logger.Error("[Controller:UpdateCategory] %v", err) view.Set("errorMessage", "Unable to update this category.") - html.OK(w, view.Render("edit_category")) + html.OK(w, r, view.Render("edit_category")) return } diff --git a/ui/entry_bookmark.go b/ui/entry_bookmark.go index c598227..c65cccf 100644 --- a/ui/entry_bookmark.go +++ b/ui/entry_bookmark.go @@ -88,5 +88,5 @@ func (c *Controller) ShowStarredEntry(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("entry")) + html.OK(w, r, view.Render("entry")) } diff --git a/ui/entry_category.go b/ui/entry_category.go index f1c4fc2..163bd08 100644 --- a/ui/entry_category.go +++ b/ui/entry_category.go @@ -95,5 +95,5 @@ func (c *Controller) ShowCategoryEntry(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("entry")) + html.OK(w, r, view.Render("entry")) } diff --git a/ui/entry_feed.go b/ui/entry_feed.go index 19c13b6..ea68ab4 100644 --- a/ui/entry_feed.go +++ b/ui/entry_feed.go @@ -95,5 +95,5 @@ func (c *Controller) ShowFeedEntry(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("entry")) + html.OK(w, r, view.Render("entry")) } diff --git a/ui/entry_read.go b/ui/entry_read.go index 9b98ab2..2f89119 100644 --- a/ui/entry_read.go +++ b/ui/entry_read.go @@ -78,5 +78,5 @@ func (c *Controller) ShowReadEntry(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("entry")) + html.OK(w, r, view.Render("entry")) } diff --git a/ui/entry_search.go b/ui/entry_search.go index b97bcea..21fdf56 100644 --- a/ui/entry_search.go +++ b/ui/entry_search.go @@ -91,5 +91,5 @@ func (c *Controller) ShowSearchEntry(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("entry")) + html.OK(w, r, view.Render("entry")) } diff --git a/ui/entry_unread.go b/ui/entry_unread.go index 05e506d..021df72 100644 --- a/ui/entry_unread.go +++ b/ui/entry_unread.go @@ -99,5 +99,5 @@ func (c *Controller) ShowUnreadEntry(w http.ResponseWriter, r *http.Request) { // Fetching the counter here avoid to be off by one. view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("entry")) + html.OK(w, r, view.Render("entry")) } diff --git a/ui/feed_edit.go b/ui/feed_edit.go index 3a4e862..b4fb86f 100644 --- a/ui/feed_edit.go +++ b/ui/feed_edit.go @@ -69,5 +69,5 @@ func (c *Controller) EditFeed(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("edit_feed")) + html.OK(w, r, view.Render("edit_feed")) } diff --git a/ui/feed_entries.go b/ui/feed_entries.go index 4aad543..7f056c5 100644 --- a/ui/feed_entries.go +++ b/ui/feed_entries.go @@ -75,5 +75,5 @@ func (c *Controller) ShowFeedEntries(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("feed_entries")) + html.OK(w, r, view.Render("feed_entries")) } diff --git a/ui/feed_list.go b/ui/feed_list.go index fcf315c..54f09f2 100644 --- a/ui/feed_list.go +++ b/ui/feed_list.go @@ -37,5 +37,5 @@ func (c *Controller) ShowFeedsPage(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("feeds")) + html.OK(w, r, view.Render("feeds")) } diff --git a/ui/feed_update.go b/ui/feed_update.go index 8157327..b960d11 100644 --- a/ui/feed_update.go +++ b/ui/feed_update.go @@ -64,7 +64,7 @@ func (c *Controller) UpdateFeed(w http.ResponseWriter, r *http.Request) { if err := feedForm.ValidateModification(); err != nil { view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("edit_feed")) + html.OK(w, r, view.Render("edit_feed")) return } @@ -72,7 +72,7 @@ func (c *Controller) UpdateFeed(w http.ResponseWriter, r *http.Request) { if err != nil { logger.Error("[Controller:EditFeed] %v", err) view.Set("errorMessage", "Unable to update this feed.") - html.OK(w, view.Render("edit_feed")) + html.OK(w, r, view.Render("edit_feed")) return } diff --git a/ui/history_entries.go b/ui/history_entries.go index 9945500..2f18bbf 100644 --- a/ui/history_entries.go +++ b/ui/history_entries.go @@ -56,5 +56,5 @@ func (c *Controller) ShowHistoryPage(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("history_entries")) + html.OK(w, r, view.Render("history_entries")) } diff --git a/ui/integration_show.go b/ui/integration_show.go index 31d374f..b3dc6d9 100644 --- a/ui/integration_show.go +++ b/ui/integration_show.go @@ -63,5 +63,5 @@ func (c *Controller) ShowIntegrations(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasPocketConsumerKeyConfigured", c.cfg.PocketConsumerKey("") != "") - html.OK(w, view.Render("integrations")) + html.OK(w, r, view.Render("integrations")) } diff --git a/ui/login_check.go b/ui/login_check.go index 7cd63b7..71e7854 100644 --- a/ui/login_check.go +++ b/ui/login_check.go @@ -28,13 +28,13 @@ func (c *Controller) CheckLogin(w http.ResponseWriter, r *http.Request) { if err := authForm.Validate(); err != nil { logger.Error("[Controller:CheckLogin] %v", err) - html.OK(w, view.Render("login")) + html.OK(w, r, view.Render("login")) return } if err := c.store.CheckPassword(authForm.Username, authForm.Password); err != nil { logger.Error("[Controller:CheckLogin] %v", err) - html.OK(w, view.Render("login")) + html.OK(w, r, view.Render("login")) return } diff --git a/ui/login_show.go b/ui/login_show.go index 84dc160..88e12d4 100644 --- a/ui/login_show.go +++ b/ui/login_show.go @@ -25,5 +25,5 @@ func (c *Controller) ShowLoginPage(w http.ResponseWriter, r *http.Request) { sess := session.New(c.store, ctx) view := view.New(c.tpl, ctx, sess) - html.OK(w, view.Render("login")) + html.OK(w, r, view.Render("login")) } diff --git a/ui/opml_import.go b/ui/opml_import.go index fd3a869..1017272 100644 --- a/ui/opml_import.go +++ b/ui/opml_import.go @@ -29,5 +29,5 @@ func (c *Controller) Import(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("import")) + html.OK(w, r, view.Render("import")) } diff --git a/ui/opml_upload.go b/ui/opml_upload.go index ef93fb1..2e0a1b8 100644 --- a/ui/opml_upload.go +++ b/ui/opml_upload.go @@ -50,13 +50,13 @@ func (c *Controller) UploadOPML(w http.ResponseWriter, r *http.Request) { if fileHeader.Size == 0 { view.Set("errorMessage", "This file is empty") - html.OK(w, view.Render("import")) + html.OK(w, r, view.Render("import")) return } if impErr := opml.NewHandler(c.store).Import(user.ID, file); impErr != nil { view.Set("errorMessage", impErr) - html.OK(w, view.Render("import")) + html.OK(w, r, view.Render("import")) return } diff --git a/ui/search_entries.go b/ui/search_entries.go index cb02df9..60d35c7 100644 --- a/ui/search_entries.go +++ b/ui/search_entries.go @@ -62,5 +62,5 @@ func (c *Controller) ShowSearchEntries(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("search_entries")) + html.OK(w, r, view.Render("search_entries")) } diff --git a/ui/session_list.go b/ui/session_list.go index cd9bfe8..ad296c6 100644 --- a/ui/session_list.go +++ b/ui/session_list.go @@ -40,5 +40,5 @@ func (c *Controller) ShowSessions(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("sessions")) + html.OK(w, r, view.Render("sessions")) } diff --git a/ui/settings_show.go b/ui/settings_show.go index c23473b..aa43f3e 100644 --- a/ui/settings_show.go +++ b/ui/settings_show.go @@ -50,5 +50,5 @@ func (c *Controller) ShowSettings(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("settings")) + html.OK(w, r, view.Render("settings")) } diff --git a/ui/settings_update.go b/ui/settings_update.go index 5e889e2..f78b290 100644 --- a/ui/settings_update.go +++ b/ui/settings_update.go @@ -49,13 +49,13 @@ func (c *Controller) UpdateSettings(w http.ResponseWriter, r *http.Request) { if err := settingsForm.Validate(); err != nil { view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("settings")) + html.OK(w, r, view.Render("settings")) return } if c.store.AnotherUserExists(user.ID, settingsForm.Username) { view.Set("errorMessage", "This user already exists.") - html.OK(w, view.Render("settings")) + html.OK(w, r, view.Render("settings")) return } @@ -63,7 +63,7 @@ func (c *Controller) UpdateSettings(w http.ResponseWriter, r *http.Request) { if err != nil { logger.Error("[Controller:UpdateSettings] %v", err) view.Set("errorMessage", "Unable to update this user.") - html.OK(w, view.Render("settings")) + html.OK(w, r, view.Render("settings")) return } diff --git a/ui/subscription_add.go b/ui/subscription_add.go index 301c5c9..b710cf0 100644 --- a/ui/subscription_add.go +++ b/ui/subscription_add.go @@ -36,5 +36,5 @@ func (c *Controller) AddSubscription(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("add_subscription")) + html.OK(w, r, view.Render("add_subscription")) } diff --git a/ui/subscription_bookmarklet.go b/ui/subscription_bookmarklet.go index 4f31fa8..33e82b4 100644 --- a/ui/subscription_bookmarklet.go +++ b/ui/subscription_bookmarklet.go @@ -41,5 +41,5 @@ func (c *Controller) Bookmarklet(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("add_subscription")) + html.OK(w, r, view.Render("add_subscription")) } diff --git a/ui/subscription_choose.go b/ui/subscription_choose.go index ce5a773..e4a77fd 100644 --- a/ui/subscription_choose.go +++ b/ui/subscription_choose.go @@ -43,7 +43,7 @@ func (c *Controller) ChooseSubscription(w http.ResponseWriter, r *http.Request) if err := subscriptionForm.Validate(); err != nil { view.Set("form", subscriptionForm) view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("add_subscription")) + html.OK(w, r, view.Render("add_subscription")) return } @@ -58,7 +58,7 @@ func (c *Controller) ChooseSubscription(w http.ResponseWriter, r *http.Request) if err != nil { view.Set("form", subscriptionForm) view.Set("errorMessage", err) - html.OK(w, view.Render("add_subscription")) + html.OK(w, r, view.Render("add_subscription")) return } diff --git a/ui/subscription_submit.go b/ui/subscription_submit.go index 37f1016..d7f4e61 100644 --- a/ui/subscription_submit.go +++ b/ui/subscription_submit.go @@ -45,7 +45,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) if err := subscriptionForm.Validate(); err != nil { v.Set("form", subscriptionForm) v.Set("errorMessage", err.Error()) - html.OK(w, v.Render("add_subscription")) + html.OK(w, r, v.Render("add_subscription")) return } @@ -58,7 +58,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) logger.Error("[Controller:SubmitSubscription] %v", err) v.Set("form", subscriptionForm) v.Set("errorMessage", err) - html.OK(w, v.Render("add_subscription")) + html.OK(w, r, v.Render("add_subscription")) return } @@ -69,7 +69,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) case n == 0: v.Set("form", subscriptionForm) v.Set("errorMessage", "Unable to find any subscription.") - html.OK(w, v.Render("add_subscription")) + html.OK(w, r, v.Render("add_subscription")) case n == 1: feed, err := c.feedHandler.CreateFeed( user.ID, @@ -82,7 +82,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) if err != nil { v.Set("form", subscriptionForm) v.Set("errorMessage", err) - html.OK(w, v.Render("add_subscription")) + html.OK(w, r, v.Render("add_subscription")) return } @@ -95,6 +95,6 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) v.Set("user", user) v.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, v.Render("choose_subscription")) + html.OK(w, r, v.Render("choose_subscription")) } } diff --git a/ui/unread_entries.go b/ui/unread_entries.go index 5dd3f7b..0d10bb6 100644 --- a/ui/unread_entries.go +++ b/ui/unread_entries.go @@ -60,5 +60,5 @@ func (c *Controller) ShowUnreadPage(w http.ResponseWriter, r *http.Request) { view.Set("countUnread", countUnread) view.Set("hasSaveEntry", c.store.HasSaveEntry(user.ID)) - html.OK(w, view.Render("unread_entries")) + html.OK(w, r, view.Render("unread_entries")) } diff --git a/ui/user_create.go b/ui/user_create.go index 4835863..9c47c6a 100644 --- a/ui/user_create.go +++ b/ui/user_create.go @@ -36,5 +36,5 @@ func (c *Controller) CreateUser(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("create_user")) + html.OK(w, r, view.Render("create_user")) } diff --git a/ui/user_edit.go b/ui/user_edit.go index 648e4d6..953d1ef 100644 --- a/ui/user_edit.go +++ b/ui/user_edit.go @@ -60,5 +60,5 @@ func (c *Controller) EditUser(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("edit_user")) + html.OK(w, r, view.Render("edit_user")) } diff --git a/ui/user_list.go b/ui/user_list.go index 4bab764..f9ec35f 100644 --- a/ui/user_list.go +++ b/ui/user_list.go @@ -43,5 +43,5 @@ func (c *Controller) ShowUsers(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) - html.OK(w, view.Render("users")) + html.OK(w, r, view.Render("users")) } diff --git a/ui/user_save.go b/ui/user_save.go index a0057e1..b563877 100644 --- a/ui/user_save.go +++ b/ui/user_save.go @@ -43,13 +43,13 @@ func (c *Controller) SaveUser(w http.ResponseWriter, r *http.Request) { if err := userForm.ValidateCreation(); err != nil { view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("create_user")) + html.OK(w, r, view.Render("create_user")) return } if c.store.UserExists(userForm.Username) { view.Set("errorMessage", "This user already exists.") - html.OK(w, view.Render("create_user")) + html.OK(w, r, view.Render("create_user")) return } @@ -57,7 +57,7 @@ func (c *Controller) SaveUser(w http.ResponseWriter, r *http.Request) { if err := c.store.CreateUser(newUser); err != nil { logger.Error("[Controller:SaveUser] %v", err) view.Set("errorMessage", "Unable to create this user.") - html.OK(w, view.Render("create_user")) + html.OK(w, r, view.Render("create_user")) return } diff --git a/ui/user_update.go b/ui/user_update.go index d14f8c9..1b785f5 100644 --- a/ui/user_update.go +++ b/ui/user_update.go @@ -62,13 +62,13 @@ func (c *Controller) UpdateUser(w http.ResponseWriter, r *http.Request) { if err := userForm.ValidateModification(); err != nil { view.Set("errorMessage", err.Error()) - html.OK(w, view.Render("edit_user")) + html.OK(w, r, view.Render("edit_user")) return } if c.store.AnotherUserExists(selectedUser.ID, userForm.Username) { view.Set("errorMessage", "This user already exists.") - html.OK(w, view.Render("edit_user")) + html.OK(w, r, view.Render("edit_user")) return } @@ -76,7 +76,7 @@ func (c *Controller) UpdateUser(w http.ResponseWriter, r *http.Request) { if err := c.store.UpdateUser(selectedUser); err != nil { logger.Error("[Controller:UpdateUser] %v", err) view.Set("errorMessage", "Unable to update this user.") - html.OK(w, view.Render("edit_user")) + html.OK(w, r, view.Render("edit_user")) return } -- cgit v1.2.3