async function get(instance, urlPath) {
	const addr = await instance.address;
	return new Promise((resolve, reject) => {
		httpGet(addr + '/' + urlPath.replace(/^\//, ''), res => {
			let body = '';
			res.setEncoding('utf-8');
			res.on('data', chunk => {
				body += chunk;
			});
			res.once('end', () => {
				if (!res.statusCode || res.statusCode >= 400) {
					const err = Object.assign(Error(`${res.statusCode} ${res.statusMessage}: ${urlPath}\n${body}`), {
						code: res.statusCode,
						body,
						res
					});
					return reject(err);
				}
				resolve({
					status: res.statusCode,
					body,
					res
				});
			});
		});
	});
}
@param {WmrInstance} instance
@param {string} urlPath
@returns {Promise<{status?: number, body: string, res: import('http').IncomingMessage }>}