Socket
Socket
Sign inDemoInstall

oas-resolver

Package Overview
Dependencies
32
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.4.4 to 2.5.0

52

index.js

@@ -21,9 +21,17 @@ 'use strict';

function readFileAsync(filename, encoding) {
function readFileAsync(filename, encoding, options, pointer, def) {
return new Promise(function (resolve, reject) {
fs.readFile(filename, encoding, function (err, data) {
if (err)
reject(err);
else
if (err) {
if (options.ignoreIOErrors && def) {
options.externalRefs[pointer].failed = true;
resolve(def);
}
else {
reject(err);
}
}
else {
resolve(data);
}
});

@@ -86,2 +94,6 @@ });

obj['x-miro'] = obj[key];
if (!options.externalRefs[newRef]) {
options.externalRefs[newRef] = options.externalRefs[obj[key]];
}
options.externalRefs[newRef].failed = options.externalRefs[obj[key]].failed;
obj[key] = newRef;

@@ -91,5 +103,11 @@ }

let newRef = url.resolve(base,obj[key]).toString();
if (options.verbose>1) console.warn(common.colour.yellow+'Rewriting external ref',obj[key],'as',newRef,common.colour.normal);
obj['x-miro'] = obj[key]; // we use x-miro as a flag so we don't do this > once
obj[key] = newRef;
let failed = false;
if (options.externalRefs[obj[key]]) {
failed = options.externalRefs[obj[key]].failed;
}
if (!failed) {
if (options.verbose>1) console.warn(common.colour.yellow+'Rewriting external ref',obj[key],'as',newRef,common.colour.normal);
obj['x-miro'] = obj[key]; // we use x-miro as a flag so we don't do this > once
obj[key] = newRef;
}
}

@@ -193,3 +211,11 @@ }

.then(function (res) {
if (res.status !== 200) throw new Error(`Received status code ${res.status}: ${target}`);
if (res.status !== 200) {
if (options.ignoreIOErrors) {
options.externalRefs[pointer].failed = true;
return '{"$ref":"'+pointer+'"}';
}
else {
throw new Error(`Received status code ${res.status}: ${target}`);
}
}
return res.text();

@@ -233,3 +259,4 @@ })

else {
return readFileAsync(target, options.encoding || 'utf8')
const def = '{"$ref":"'+pointer+'"}';
return readFileAsync(target, options.encoding || 'utf8', options, pointer, def)
.then(function (data) {

@@ -299,4 +326,7 @@ try {

if (refs[$ref].resolved) {
if (options.rewriteRefs) {
// we've already seen it
// we've already seen it
if (refs[$ref].failed) {
// do none
}
else if (options.rewriteRefs) {
let newRef = refs[$ref].resolvedAt;

@@ -303,0 +333,0 @@ if (options.verbose>1) console.warn('Rewriting ref', $ref, newRef);

{
"name": "oas-resolver",
"version": "2.4.4",
"version": "2.5.0",
"description": "Resolve external $refs in OpenAPI (swagger) 2.0 / 3.x definitions",

@@ -39,3 +39,3 @@ "main": "index.js",

},
"gitHead": "d4c6b903ab3ef4a94ac3fd8a2b92eaf76b9b7fb6"
"gitHead": "aeaee7225ad2a2ab5e7cce0699cf43854b4d46fa"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc