Protocol/Scheme handlers

You can create your own protocol/scheme handlers for external references. You can also override the default http:, https: and file: handlers if necessary.

Examples of custom scheme handlers might be root: or parent: for accessing the referring parts of the definition, or a ssh: handler for secure retrieval.

Example

const util = require('util');
const converter = require('./index.js');

function cache(base,pointer,fragment,options) {
    if (options.verbose) console.log('Cache handler called',base,pointer,fragment);
    return new Promise(function(res,rej){
        res(...);
    });
}

converter.convertFile('./test.yaml',{
    handlers: { 'cache:': cache },
    resolve: true,
    source: './',
    verbose: true}, function(err,options){
        if (err) console.warn(util.inspect(err))
        else console.log(util.inspect(options.openapi));
    });