|  | @@ -1,99 +1,6 @@
 | 
	
		
			
				|  |  |  /******/ (() => { // webpackBootstrap
 | 
	
		
			
				|  |  |  /******/ 	var __webpack_modules__ = ({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/***/ 52:
 | 
	
		
			
				|  |  | -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const http = __webpack_require__(25);
 | 
	
		
			
				|  |  | -const https = __webpack_require__(26);
 | 
	
		
			
				|  |  | -const qs = __webpack_require__(53);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const colors = { 2: 32, 3: 33, 4: 31, 5: 31 }; // colours 200-299 green, 300-399 yellow, and 400-599 red
 | 
	
		
			
				|  |  | -const protocols = { http, https }; // uses HTTP or HTTPS depending on the protocols
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/**
 | 
	
		
			
				|  |  | - * Parse a request body based on known MIME types, based on the Content-Type
 | 
	
		
			
				|  |  | - * header. If unknown or undefined, will return the original request body.
 | 
	
		
			
				|  |  | - * @param {Object} opts - The request options.
 | 
	
		
			
				|  |  | - * @param {Object|String} body - The request body.
 | 
	
		
			
				|  |  | - * @returns {Object|String} A parsed request body for known MIME types, or the original request body.
 | 
	
		
			
				|  |  | - */
 | 
	
		
			
				|  |  | -function parse(opts = {}, body) {
 | 
	
		
			
				|  |  | -  if (opts.headers == null) {
 | 
	
		
			
				|  |  | -    return body; // terminates early if unable to retrieve MIME type
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  switch (opts.headers['Content-Type']) {
 | 
	
		
			
				|  |  | -    case 'application/json': return JSON.stringify(body);
 | 
	
		
			
				|  |  | -    case 'application/x-www-form-urlencoded': return qs.stringify(body);
 | 
	
		
			
				|  |  | -    default: return body;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/**
 | 
	
		
			
				|  |  | - * Make an asynchronous request to an HTTP or HTTPS address. Automatically
 | 
	
		
			
				|  |  | - * derives protocol from URL input, and content length from the request body.
 | 
	
		
			
				|  |  | - * @param {URL|String} url - The request URL.
 | 
	
		
			
				|  |  | - * @param {Object} opts - The request options.
 | 
	
		
			
				|  |  | - * @param {Object|String} body - The request body.
 | 
	
		
			
				|  |  | - * @returns {Promise} A promise to return either a response object, or an error.
 | 
	
		
			
				|  |  | - */
 | 
	
		
			
				|  |  | -function request(url, opts = {}, body = '') {
 | 
	
		
			
				|  |  | -  const data = parse(opts, body);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  if (opts.headers == null) {
 | 
	
		
			
				|  |  | -    opts.headers = {};
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  if (opts.headers['Content-Length'] == null) {
 | 
	
		
			
				|  |  | -    opts.headers['Content-Length'] = Buffer.byteLength(data);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  return new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  | -    if (!(url instanceof URL)) {
 | 
	
		
			
				|  |  | -      url = new URL(url); // coerces input into URL if not one already
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    const protocol = protocols[url.protocol.replace(/:$/, '')]; // removes trailing colon from URL protocol value
 | 
	
		
			
				|  |  | -    const tick = new Date().getTime();
 | 
	
		
			
				|  |  | -    const request = protocol.request(url, opts, response => {
 | 
	
		
			
				|  |  | -      const chunks = []; // creates an empty array to store response body
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      response.on('data', chunk => {
 | 
	
		
			
				|  |  | -        chunks.push(chunk); // adds data chunk to chunks array
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      response.on('end', () => {
 | 
	
		
			
				|  |  | -        const tock = new Date().getTime();
 | 
	
		
			
				|  |  | -        try {
 | 
	
		
			
				|  |  | -          const { headers } = response;
 | 
	
		
			
				|  |  | -          const body = chunks.join(''); // concatenates data chunks into a single string
 | 
	
		
			
				|  |  | -          resolve({ headers, body });
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        catch (error) {
 | 
	
		
			
				|  |  | -          reject(error);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        finally {
 | 
	
		
			
				|  |  | -          const color = `\x1b[${colors[response.statusCode.toString().charAt(0)] || 36}m`; // applies style changes, defaults to blue
 | 
	
		
			
				|  |  | -          const reset = '\x1b[0m'; // resets style changes
 | 
	
		
			
				|  |  | -          console.debug(`${color}${request.method} ${url.protocol}//${url.host}${request.path} ${response.statusCode} ${tock - tick}ms${reset}`);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      response.on('error', error => {
 | 
	
		
			
				|  |  | -        reject(error);
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -    });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    request.write(data);
 | 
	
		
			
				|  |  | -    request.end();
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -module.exports = request;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/***/ }),
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  /***/ 51:
 | 
	
		
			
				|  |  |  /***/ ((module) => {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -123,19 +30,84 @@ module.exports = function (string, skips) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /***/ }),
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/***/ 1:
 | 
	
		
			
				|  |  | -/***/ ((module) => {
 | 
	
		
			
				|  |  | +/***/ 2:
 | 
	
		
			
				|  |  | +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  "use strict";
 | 
	
		
			
				|  |  | -module.exports = require("vscode");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
	
		
			
				|  |  | +exports.request = void 0;
 | 
	
		
			
				|  |  | +const url_1 = __webpack_require__(28);
 | 
	
		
			
				|  |  | +const https = __webpack_require__(26);
 | 
	
		
			
				|  |  | +const qs = __webpack_require__(53);
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Parse a request body based on known MIME types, based on the Content-Type
 | 
	
		
			
				|  |  | + * header. If unknown or undefined, will return the original request body.
 | 
	
		
			
				|  |  | + * @param {Object} opts - The request options.
 | 
	
		
			
				|  |  | + * @param {Object|string} body - The request body.
 | 
	
		
			
				|  |  | + * @returns {Object|string} A parsed request body for known MIME types, or the original request body.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function parse(opts = {}, body) {
 | 
	
		
			
				|  |  | +    if (opts.headers == null) {
 | 
	
		
			
				|  |  | +        return body;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    switch (opts.headers['Content-Type']) {
 | 
	
		
			
				|  |  | +        case 'application/json': return JSON.stringify(body);
 | 
	
		
			
				|  |  | +        case 'application/x-www-form-urlencoded': return qs.stringify(body);
 | 
	
		
			
				|  |  | +        default: return body;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Make an asynchronous request to an HTTP or HTTPS address. Automatically
 | 
	
		
			
				|  |  | + * derives protocol from URL input, and content length from the request body.
 | 
	
		
			
				|  |  | + * @param {URL|string} url - The request URL.
 | 
	
		
			
				|  |  | + * @param {Object} opts - The request options.
 | 
	
		
			
				|  |  | + * @param {Object|string} body - The request body.
 | 
	
		
			
				|  |  | + * @returns {Promise} A promise to return either a response object, or an error.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function request(url, opts = {}, body = '') {
 | 
	
		
			
				|  |  | +    const data = parse(opts, body);
 | 
	
		
			
				|  |  | +    if (opts.headers == null) {
 | 
	
		
			
				|  |  | +        opts.headers = {};
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    return new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  | +        if (!(url instanceof url_1.URL)) {
 | 
	
		
			
				|  |  | +            url = new url_1.URL(url);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        const tick = new Date().getTime();
 | 
	
		
			
				|  |  | +        const request = https.request(url, opts, (response) => {
 | 
	
		
			
				|  |  | +            const chunks = [];
 | 
	
		
			
				|  |  | +            response.on('data', (chunk) => {
 | 
	
		
			
				|  |  | +                chunks.push(chunk);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            response.on('end', () => {
 | 
	
		
			
				|  |  | +                try {
 | 
	
		
			
				|  |  | +                    const { headers } = response;
 | 
	
		
			
				|  |  | +                    const body = chunks.join('');
 | 
	
		
			
				|  |  | +                    resolve({ headers, body });
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                catch (error) {
 | 
	
		
			
				|  |  | +                    reject(error);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            response.on('error', (error) => {
 | 
	
		
			
				|  |  | +                reject(error);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        request.write(data);
 | 
	
		
			
				|  |  | +        request.end();
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +exports.request = request;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /***/ }),
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/***/ 25:
 | 
	
		
			
				|  |  | +/***/ 1:
 | 
	
		
			
				|  |  |  /***/ ((module) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  "use strict";
 | 
	
		
			
				|  |  | -module.exports = require("http");
 | 
	
		
			
				|  |  | +module.exports = require("vscode");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /***/ }),
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -155,6 +127,14 @@ module.exports = require("querystring");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /***/ }),
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +/***/ 28:
 | 
	
		
			
				|  |  | +/***/ ((module) => {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"use strict";
 | 
	
		
			
				|  |  | +module.exports = require("url");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/***/ }),
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  /***/ 50:
 | 
	
		
			
				|  |  |  /***/ ((__unused_webpack_module, exports) => {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -276,7 +256,7 @@ exports.deactivate = exports.activate = void 0;
 | 
	
		
			
				|  |  |  // Import the module and reference it with the alias vscode in your code below
 | 
	
		
			
				|  |  |  const vscode = __webpack_require__(1);
 | 
	
		
			
				|  |  |  const html_escaper_1 = __webpack_require__(50);
 | 
	
		
			
				|  |  | -const request = __webpack_require__(52);
 | 
	
		
			
				|  |  | +const requests_1 = __webpack_require__(2);
 | 
	
		
			
				|  |  |  const markdownEscape = __webpack_require__(51);
 | 
	
		
			
				|  |  |  // this method is called when your extension is activated
 | 
	
		
			
				|  |  |  // your extension is activated the very first time the command is executed
 | 
	
	
		
			
				|  | @@ -305,7 +285,7 @@ function activate(context) {
 | 
	
		
			
				|  |  |                  progress.report({ increment: 0 });
 | 
	
		
			
				|  |  |                  // Make a request to wikipedia to get short description
 | 
	
		
			
				|  |  |                  try {
 | 
	
		
			
				|  |  | -                    const response = await request(`https://en.wikipedia.org/w/api.php?format=json&action=query&prop=info|extracts&exintro&explaintext&&inprop=url&redirects=1&titles=${encodeURIComponent(text)}`);
 | 
	
		
			
				|  |  | +                    const response = await (0, requests_1.request)(`https://en.wikipedia.org/w/api.php?format=json&action=query&prop=info|extracts&exintro&explaintext&&inprop=url&redirects=1&titles=${encodeURIComponent(text)}`);
 | 
	
		
			
				|  |  |                      const body = JSON.parse(response.body);
 | 
	
		
			
				|  |  |                      progress.report({ increment: 100 });
 | 
	
		
			
				|  |  |                      console.log(response);
 |