Nightly Procrastination Machine

    @wturyn/swagger-injector

    3.0.1 • Public • Published

    Swagger Injector

    • This is a fork extended for restify framework support *

    Build Status

    Adaptation of swagger ui to render the swagger view of a server's swagger documentation for a specified route.

    If you're unfamiliar with swagger, I highly recommend checking it out.

    Key

    Usage

    Koa

    Build for ^2.x

    • Assume ./swagger.json is a valid json file
    • Working example
      • Run $ npm install && node examples/koa
      • Request localhost:3000/swagger
    let Koa = require('koa');
    let swagger = require('swagger-injector');
    
    let app = new Koa();
    
    app.use(swagger.koa({
      path: `${__dirname}/swagger.json`,
    }));
    
    app.listen(3000);

    Express

    • Assume ./swagger.json is a valid json file
    • NOTE: authentication requires cookie-parser
    • Working example
      • Run $ npm install && node examples/express
      • Request localhost:3000/swagger
    let express = require('express');
    let cookieParser = require('cookie-parser');
    let swagger = require('swagger-injector');
    
    let app = express();
    
    app.use(cookieParser()); // REQUIRED
    app.use(swagger.express({
      path: `${__dirname}/swagger.json`
    }));
    
    app.listen(3000);

    Restify

    const restify = require('restify');
    const swagger = require('swagger-injector');
    const server = restify.createServer();
    
    server.pre(swagger.restify({
      path: `${__dirname}/swagger.json`
    }));
    
    server.listen(3000);

    Configuration

    The following configuration example is a copy of the default configuration

    {
      path: './swagger.json', // Path to swagger file
      swagger: false, // swagger json. If not set, it is read from the `path` file
      prefix: '', // Prefix applied to all routes
      assets: '/_swagger_', // Prefix for all assets, appended to prefix
      route: '/swagger', // Router to serve documentation
      css: false, // Path to the css OR css string
      unauthorized: false, // Unauth handler
      dist: '/dist', // Path to dist directory
      authentication: {
        sources: ['query', 'body'], // Accepted sources of auth
        key: false, // Key for the auth
        value: false // Value for the auth
      }
    }

    Author

    License

    MIT

    Install

    npm i @wturyn/swagger-injector

    DownloadsWeekly Downloads

    1

    Version

    3.0.1

    License

    MIT

    Last publish

    Collaborators

    • wturyn