diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2018-02-09 10:05:23 -0500 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2018-02-09 10:05:23 -0500 |
commit | e2b5f9217f55074e4a64c90f4121803cd68f0b97 (patch) | |
tree | c592d1212d24086bfaa9f9b5cd78fd6a6d53ef02 /app/post.go | |
parent | d3a0e561c265e32a305cd5c6ed5e80f461d9f4eb (diff) | |
download | chat-e2b5f9217f55074e4a64c90f4121803cd68f0b97.tar.gz chat-e2b5f9217f55074e4a64c90f4121803cd68f0b97.tar.bz2 chat-e2b5f9217f55074e4a64c90f4121803cd68f0b97.zip |
ICU-669 Handle relative links better
Diffstat (limited to 'app/post.go')
-rw-r--r-- | app/post.go | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/app/post.go b/app/post.go index 1e170d363..f8a371fc0 100644 --- a/app/post.go +++ b/app/post.go @@ -749,16 +749,16 @@ func (a *App) GetOpenGraphMetadata(requestURL string) *opengraph.OpenGraph { l4g.Error("GetOpenGraphMetadata processing failed for url=%v with err=%v", requestURL, err.Error()) } - og = makeOpenGraphURLsAbsolute(og, requestURL) + makeOpenGraphURLsAbsolute(og, requestURL) return og } -func makeOpenGraphURLsAbsolute(og *opengraph.OpenGraph, requestURL string) *opengraph.OpenGraph { +func makeOpenGraphURLsAbsolute(og *opengraph.OpenGraph, requestURL string) { parsedRequestURL, err := url.Parse(requestURL) if err != nil { l4g.Warn("makeOpenGraphURLsAbsolute failed to parse url=%v", requestURL) - return og + return } makeURLAbsolute := func(resultURL string) string { @@ -776,10 +776,7 @@ func makeOpenGraphURLsAbsolute(og *opengraph.OpenGraph, requestURL string) *open return resultURL } - parsedResultURL.Scheme = parsedRequestURL.Scheme - parsedResultURL.Host = parsedRequestURL.Host - - return parsedResultURL.String() + return parsedRequestURL.ResolveReference(parsedResultURL).String() } og.URL = makeURLAbsolute(og.URL) @@ -798,8 +795,6 @@ func makeOpenGraphURLsAbsolute(og *opengraph.OpenGraph, requestURL string) *open video.URL = makeURLAbsolute(video.URL) video.SecureURL = makeURLAbsolute(video.SecureURL) } - - return og } func (a *App) DoPostAction(postId string, actionId string, userId string) *model.AppError { |