| 1310 | * @param {(err: Error | null, result: true | void) => void} callback callback |
| 1311 | */ |
| 1312 | const respondWithUrlModule = (url, resourceData, callback) => { |
| 1313 | getInfo(url.href, (err, _result) => { |
| 1314 | if (err) return callback(err); |
| 1315 | const result = /** @type {Info} */ (_result); |
| 1316 | resourceData.resource = url.href; |
| 1317 | resourceData.path = url.origin + url.pathname; |
| 1318 | resourceData.query = url.search; |
| 1319 | resourceData.fragment = url.hash; |
| 1320 | resourceData.context = new URL( |
| 1321 | ".", |
| 1322 | result.entry.resolved |
| 1323 | ).href.slice(0, -1); |
| 1324 | resourceData.data.mimetype = result.entry.contentType; |
| 1325 | callback(null, true); |
| 1326 | }); |
| 1327 | }; |
| 1328 | normalModuleFactory.hooks.resolveForScheme |
| 1329 | .for(scheme) |
| 1330 | .tapAsync(PLUGIN_NAME, (resourceData, resolveData, callback) => { |