const got = require('got')

const gotRequest = async (url) => {
    let returnResponse = {};
    let options = {
        timeout: 2000
    }
    return new Promise(async (resolve, reject) => {
        await got(url, options)
            .then((response) => {
                returnResponse = response;
            })
            .catch((error) => {
                returnResponse = typeof error.response !== 'undefined' ? error.response : error;

                if (typeof returnResponse.body === 'string' && returnResponse.body.substring(0, 1) === '{') {
                    returnResponse.body = JSON.parse(returnResponse.body);
                }
            });

        resolve(returnResponse);
    })
};

module.exports = {
    gotRequest
}