@nathanhornby rewritten as promised. I did it fast without checking, so there’s 1% chance it lacks a bracket somewhere.
template:
Template.myTemplate.onCreated({
this.readmeVar = new ReactiveVar('');
Meteor.call('getReadmeFromGithub',
FlowRouter.getParam('provider'),
FlowRouter.getParam('package'),
(function(_this) {
return function(error, result) {
if (!error) {
return Template.instance().readmeVar.set(result);
}
};
})
(this));
});
Template.myTemplate.helpers({
readme: function(){
return Template.instance().readmeVar.get();
}
});
method:
if (Meteor.isServer) {
Meteor.methods({
getReadmeFromGithub: function(provider, packageName) {
return Meteor.http.call("GET", "https://api.github.com/repos" + provider + "/" + packageName + "/readme", {
headers: {
"User-Agent": "brajt",
"Accept": "application/vnd.github.v3.html"
}
});
}
});
}
But like I said, you can also put this method.call into separate helper, as long (as you init this helper’s code in your HTML later by {{myHelper}}) or in a “click button” action.