@@ -1187,12 +1187,12 @@ async function _retrieveContextUrls(input, options) {
1187
1187
const { documentLoader} = options ;
1188
1188
1189
1189
// retrieve all @context URLs in input
1190
- await retrieve ( input , new Set ( ) , documentLoader ) ;
1190
+ await retrieve ( input , new Set ( ) , documentLoader , options . base ) ;
1191
1191
1192
1192
return input ;
1193
1193
1194
1194
// recursive function that will retrieve all @context URLs in documents
1195
- async function retrieve ( doc , cycles , documentLoader ) {
1195
+ async function retrieve ( doc , cycles , documentLoader , baseUrl ) {
1196
1196
if ( cycles . size > MAX_CONTEXT_URLS ) {
1197
1197
throw new JsonLdError (
1198
1198
'Maximum number of @context URLs exceeded.' ,
@@ -1202,7 +1202,7 @@ async function _retrieveContextUrls(input, options) {
1202
1202
1203
1203
// find all URLs in the given document
1204
1204
const urls = new Map ( ) ;
1205
- _findContextUrls ( doc , urls , false , options . base ) ;
1205
+ _findContextUrls ( doc , urls , false , baseUrl ) ;
1206
1206
if ( urls . size === 0 ) {
1207
1207
return ;
1208
1208
}
@@ -1269,13 +1269,13 @@ async function _retrieveContextUrls(input, options) {
1269
1269
}
1270
1270
1271
1271
// recurse
1272
- await retrieve ( ctx , _cycles , documentLoader ) ;
1272
+ await retrieve ( ctx , _cycles , documentLoader , url ) ;
1273
1273
1274
1274
// store retrieved context w/replaced @context URLs
1275
1275
urls . set ( url , ctx [ '@context' ] ) ;
1276
1276
1277
1277
// replace all @context URLs in the document
1278
- _findContextUrls ( doc , urls , true , options . base ) ;
1278
+ _findContextUrls ( doc , urls , true , baseUrl ) ;
1279
1279
} ) ) ;
1280
1280
}
1281
1281
}
0 commit comments