Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@supertenant/metrics-util / src / HttpDataSource.js
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const fetch=require("node-fetch"),DataSource=require("./DataSource");class HttpDataSource extends DataSource{constructor(targetUrl,refreshDelay,fetchOptions){super(refreshDelay),this.targetUrl=targetUrl,this.fetchOptions=fetchOptions}doRefresh(callback){fetch(this.targetUrl,this.fetchOptions).then(res=>res.text()).then(txt=>JSON.parse(txt)).then(json=>{callback(null,json)}).catch(e=>{console.error(`Fetching metadata from ${this.targetUrl} failed.`,e),callback(e)})}}module.exports=exports=HttpDataSource;