summaryrefslogtreecommitdiffstats
path: root/app/post.go
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2018-02-09 10:05:23 -0500
committerHarrison Healey <harrisonmhealey@gmail.com>2018-02-09 10:05:23 -0500
commite2b5f9217f55074e4a64c90f4121803cd68f0b97 (patch)
treec592d1212d24086bfaa9f9b5cd78fd6a6d53ef02 /app/post.go
parentd3a0e561c265e32a305cd5c6ed5e80f461d9f4eb (diff)
downloadchat-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.go13
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 {