From ebd56c2a850f74df9f0a0f85ff95608daefbcd24 Mon Sep 17 00:00:00 2001 From: Esko Ikkala <esko.ikkala@aalto.fi> Date: Fri, 26 Oct 2018 11:43:01 +0300 Subject: [PATCH] Use node-fetch instead of superagent --- src/server/sparql/SparqlApi.js | 56 +++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/src/server/sparql/SparqlApi.js b/src/server/sparql/SparqlApi.js index d67fda58..34c75783 100644 --- a/src/server/sparql/SparqlApi.js +++ b/src/server/sparql/SparqlApi.js @@ -1,5 +1,6 @@ -import request from 'superagent'; +//import request from 'superagent'; import fetch from 'node-fetch'; +const { URLSearchParams } = require('url'); const defaultSelectHeaders = { 'Content-Type': 'application/x-www-form-urlencoded', @@ -18,26 +19,38 @@ class SparqlApi { query(query, { headers }) { return new Promise((resolve, reject) => { - - if (this.endpoint === 'http://vocab.getty.edu/sparql.json') { - const url = this.endpoint + '?query=' + query; - fetch(url) - .then(response => { - return response.json(); - }) - .then(responseData => { - return resolve(responseData); - }) - .catch(error => console.log('error is', error)); - } else { - request.post(this.endpoint) - .send({ query }) - .set(headers) - .end((err, res) => { - if (err || !res.ok) return reject(err); - return resolve(res.text); - }); - } + const params = new URLSearchParams(); + params.append('query', query); + fetch(this.endpoint, { + method: 'post', + body: params, + headers: headers, + }) + .then(res => res.text()) + .then(data => { + return resolve(data); + }) + .catch(error => console.log('error is', error)); + // if (this.endpoint === 'http://vocab.getty.edu/sparql.json') { + // const url = this.endpoint + '?query=' + query; + // fetch(url) + // .then(response => { + // return response.json(); + // }) + // .then(responseData => { + // return resolve(responseData); + // }) + // .catch(error => console.log('error is', error)); + // } else { + // const body = { query: query}; + // request.post(this.endpoint) + // .send(body) + // .set(headers) + // .end((err, res) => { + // if (err || !res.ok) return reject(err); + // return resolve(res.text); + // }); + // } }); } @@ -54,7 +67,6 @@ class SparqlApi { constructQuery(query, params = { headers: defaultConstructHeaders }) { return this.query(query, params); } - } export default SparqlApi; -- GitLab