Skip to content

Commit

Permalink
Log which handler has been used for context retrieval
Browse files Browse the repository at this point in the history
To better improve visibility of which context retrieval handler has been
used, we can add a `name` to each handler that can be logged when
retrieving.

In the case of our fallback to OpenGraph, we can log a slightly more
appropriate message.
  • Loading branch information
jamietanna committed Nov 16, 2021
1 parent ca4aae9 commit 719ef68
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 3 deletions.
5 changes: 5 additions & 0 deletions src/events/fetch-context/eventbrite.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
const fetch = require('node-fetch')
const logger = require('@architect/shared/logger')

function name () {
return 'Eventbrite'
}

function isEventbriteUrl (url) {
return ((url.indexOf('https://eventbrite.com') > -1) ||
(url.indexOf('https://www.eventbrite.com') > -1) ||
Expand Down Expand Up @@ -29,6 +33,7 @@ async function fetchContext (url) {
}

module.exports = {
name,
isEventbriteUrl,
fetchContext
}
6 changes: 5 additions & 1 deletion src/events/fetch-context/granary.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
const fetch = require('node-fetch')
const logger = require('@architect/shared/logger')

function name () {
return 'Granary'
}

function getGranaryUrl (url) {
const granaryBaseUrl = 'https://granary.io/'
const safeUrl = encodeURIComponent(url)
Expand All @@ -26,4 +30,4 @@ async function fetchContext (url) {
return mf2.items[0].properties
}

module.exports = { fetchContext }
module.exports = { name, fetchContext }
3 changes: 2 additions & 1 deletion src/events/fetch-context/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ async function getContext (handler, url) {
// if our fetching fails, fallback to OpenGraph
const properties = await handler.fetchContext(url)
if (properties) {
logger.info(`Context fetched ${url} using ${handler.name()}`, JSON.stringify(properties))
return properties
}

logger.info(`Context fetching ${url} using fallback ${openGraph.name()}`, JSON.stringify(properties))
return await openGraph.fetchContext(url)
}

Expand All @@ -34,5 +36,4 @@ exports.handler = async function subscribe (event) {
url,
properties
})
logger.info(`Context fetched ${url}`, JSON.stringify(properties))
}
5 changes: 5 additions & 0 deletions src/events/fetch-context/meetup.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
const fetch = require('node-fetch')
const logger = require('@architect/shared/logger')

function name () {
return 'Meetup'
}

function isMeetupUrl (url) {
return ((url.indexOf('https://meetup.com') > -1) ||
(url.indexOf('https://www.meetup.com') > -1))
Expand All @@ -27,6 +31,7 @@ async function fetchContext (url) {
}

module.exports = {
name,
isMeetupUrl,
fetchContext
}
6 changes: 5 additions & 1 deletion src/events/fetch-context/open-graph.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
const ogs = require('open-graph-scraper')
const logger = require('@architect/shared/logger')

function name () {
return 'OpenGraph'
}

function setName (result, properties) {
if (result.ogTitle) {
properties.name = [result.ogTitle]
Expand Down Expand Up @@ -61,4 +65,4 @@ async function fetchContext (url) {
return properties
}

module.exports = { fetchContext }
module.exports = { name, fetchContext }

0 comments on commit 719ef68

Please sign in to comment.