const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; /** ToolsClass */ class ToolsClass { // constructor() { // } /** * shorturl * @param url url */ shorturl(url) { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xhr.status >= 200 && xhr.status < 400) { var response = JSON.parse(xhr.responseText); resolve(response.link); } } }; xhr.open("POST", "https://api-ssl.bitly.com/v4/shorten"); xhr.setRequestHeader("Authorization", "Bearer 88188dfe42e71c8da237fd49ffe5979d0fc69bd6"); xhr.setRequestHeader("Content-Type", "application/json"); let encodedData = JSON.stringify({ "long_url": url, "domain": "bit.ly" }); xhr.send(encodedData); }); } } module.exports = ToolsClass