Skip to content

Instantly share code, notes, and snippets.

@ferrix
Last active December 20, 2015 18:08
Show Gist options
  • Save ferrix/6173350 to your computer and use it in GitHub Desktop.
Save ferrix/6173350 to your computer and use it in GitHub Desktop.
NoFlo component for getting OAuth access token.
noflo = require "noflo"
class GetAccessToken extends noflo.Component
constructor: ->
@consumer = null
@inPorts =
consumer = new noflo.Port()
in: new noflo.Port()
@outPorts =
error: new noflo.Port()
out: new noflo.Port()
@inPorts.consumer.on "data", (data) =>
@consumer = data
@inPorts.in.on "data", (data) =>
@consumer.getOAuthAccessToken(data.oauth_token,
data.oauth_token_secret,
data.oauth_verifier, @callback)
callback: (error, oauth_access_token, oauth_access_token_secret, res) ->
if error
unless @outPorts.error.isAttached()
throw error
@outPorts.error.send error
@outPorts.error.disconnect()
return
@outPorts.out.connect()
return unless @outPorts.out.isAttached()
@outPorts.out.send
oauth_access_token: oauth_access_token
oauth_access_token_secret: oauth_access_token_secret
res: res
exports.getComponent = -> new GetAccessToken
noflo = require "noflo"
class GetRequestToken extends noflo.Component =>
constructor: ->
@consumer = null
@inPorts =
consumer = new noflo.Port()
in: new noflo.Port()
@outPorts =
error: new noflo.Port()
out: new noflo.Port()
@inPorts.consumer.on "data", (data) =>
@consumer = data
@inPorts.in.on "data", (data) =>
@consumer.getOAuthRequestToken(@callback)
callback: (error, oauth_token, oauth_token_secret, res) ->
if error
unless @outPorts.error.isAttached()
throw error
@outPorts.error.send error
@outPorts.error.disconnect()
return
@outPorts.out.connect()
return unless @outPorts.out.isAttached()
@outPorts.out.send
oauth_token: oauth_token
oauth_token_secret: oauth_token_secret
res: res
export.getComponent = -> new GetRequestToken
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment