Prevent error when parsing oembed meta

pull/4453/head
Rodrigo Nascimento 9 years ago
parent 07b052b5cd
commit e1d2d52084
No known key found for this signature in database
GPG Key ID: 2C85B3AFE75D23F9
  1. 11
      packages/rocketchat-oembed/server/providers.coffee
  2. 8
      packages/rocketchat-oembed/server/server.coffee

@ -71,10 +71,11 @@ RocketChat.callbacks.add 'oembed:afterParseContent', (data) ->
provider = providers.getProviderForUrl url
if provider?
if data.content?.body?
metas = JSON.parse data.content.body;
_.each metas, (value, key) ->
if _.isString value
data.meta[changeCase.camelCase('oembed_' + key)] = value
data.meta['oembedUrl'] = url
try
metas = JSON.parse data.content.body;
_.each metas, (value, key) ->
if _.isString value
data.meta[changeCase.camelCase('oembed_' + key)] = value
data.meta['oembedUrl'] = url
return data

@ -49,14 +49,16 @@ getUrlContent = (urlObj, redirectCount = 5, callback) ->
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36'
headers = null
statusCode = null
chunks = []
chunksTotalLength = 0
stream = request opts
stream.on 'response', (response) ->
statusCode = response.statusCode
headers = response.headers
if response.statusCode isnt 200
return stream.abort()
headers = response.headers
stream.on 'data', (chunk) ->
chunks.push chunk
@ -71,6 +73,7 @@ getUrlContent = (urlObj, redirectCount = 5, callback) ->
headers: headers
body: toUtf8 buffer
parsedUrl: parsedUrl
statusCode: statusCode
}
stream.on 'error', (error) ->
@ -132,6 +135,9 @@ OEmbed.getUrlMeta = (url, withFragment) ->
for header, value of content.headers
headers[changeCase.camelCase(header)] = value
if content?.statusCode isnt 200
return data
data = RocketChat.callbacks.run 'oembed:afterParseContent',
meta: metas
headers: headers

Loading…
Cancel
Save