김서영

add apiReques.js/ request ETRI API and reslove response body

require('dotenv').config();
const rp = require("request-promise");
// Api URL
const URL = {
"ETRI" : "http://aiopen.etri.re.kr:8000/",
}
// ETRI Api Request Format
const apiRequestJsonFrame = {
"request_id" : "reserved field",
"access_key" : process.env.ETRI_API_KEY,
"argument" : {}
};
let apiRequest = {};
/**
* @param {String} query 세부 url / 형식은 api사이트 참조
* @param {Object} argument 필요한 argument / 형식은 api사이트 참조
* @returns {Object} api사이트에서 정해진 형식의 응답을 받아옵니다.
* @description 이 함수는 이미 정해진 url(etri api)+query의
경로로 argument와 함께 request를 보냅니다.
그 후 얻은 응답을 js object로 보내줍니다.
*/
apiRequest.ETRI = async ( query, argument ) => {
return new Promise( ( resolve, reject ) => {
let apiReqJson = apiRequestJsonFrame;
apiReqJson.argument = argument;
let apiReqOption = { uri : URL.ETRI + query, body : JSON.stringify( apiReqJson ) };
rp.post( apiReqOption )
.then( ( body ) => {
body = JSON.parse( body );
resolve( body );
})
})
}
module.exports = apiRequest;