diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-03-06 21:13:12 -0500 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-03-06 21:13:12 -0500 |
commit | e87f5c6cf912a4f650a056ee042f19268963177d (patch) | |
tree | 5bd573a645e8a3931ca2ee7131cac75d58871a5f /api | |
parent | f99658152ac2e188d8196758ef5c635eaa3b3ae7 (diff) | |
download | chat-e87f5c6cf912a4f650a056ee042f19268963177d.tar.gz chat-e87f5c6cf912a4f650a056ee042f19268963177d.tar.bz2 chat-e87f5c6cf912a4f650a056ee042f19268963177d.zip |
Add system console switch for enabling link previews (#5663)
Diffstat (limited to 'api')
-rw-r--r-- | api/post.go | 5 | ||||
-rw-r--r-- | api/post_test.go | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/api/post.go b/api/post.go index 9c22dc5ee..4e7801e2b 100644 --- a/api/post.go +++ b/api/post.go @@ -452,6 +452,11 @@ func getFileInfosForPost(c *Context, w http.ResponseWriter, r *http.Request) { } func getOpenGraphMetadata(c *Context, w http.ResponseWriter, r *http.Request) { + if !*utils.Cfg.ServiceSettings.EnableLinkPreviews { + c.Err = model.NewAppError("getOpenGraphMetadata", "api.post.link_preview_disabled.app_error", nil, "", http.StatusNotImplemented) + return + } + props := model.StringInterfaceFromJson(r.Body) ogJSONGeneric, ok := openGraphDataCache.Get(props["url"]) diff --git a/api/post_test.go b/api/post_test.go index b93b5b6a6..39ef2f6c0 100644 --- a/api/post_test.go +++ b/api/post_test.go @@ -1307,6 +1307,12 @@ func TestGetOpenGraphMetadata(t *testing.T) { th := Setup().InitBasic() Client := th.BasicClient + enableLinkPreviews := *utils.Cfg.ServiceSettings.EnableLinkPreviews + defer func() { + *utils.Cfg.ServiceSettings.EnableLinkPreviews = enableLinkPreviews + }() + *utils.Cfg.ServiceSettings.EnableLinkPreviews = true + ogDataCacheMissCount := 0 ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -1355,4 +1361,9 @@ func TestGetOpenGraphMetadata(t *testing.T) { )) } } + + *utils.Cfg.ServiceSettings.EnableLinkPreviews = false + if _, err := Client.DoApiPost("/get_opengraph_metadata", "{\"url\":\"/og-data/\"}"); err == nil || err.StatusCode != http.StatusNotImplemented { + t.Fatal("should have failed with 501 - disabled link previews") + } } |