├── .editorconfig ├── .gitignore ├── .jshintrc ├── .nvmrc ├── .release-it.json ├── .travis.yml ├── CHANGELOG.md ├── Gruntfile.js ├── LICENSE-MIT ├── README.md ├── RELEASING.md ├── drakov ├── drakov.png ├── examples ├── config.js ├── express-middleware.js └── node-module.js ├── index.js ├── lib ├── arguments │ ├── arguments.js │ └── index.js ├── content-type.js ├── content.js ├── debugRequest.js ├── drakov.js ├── handler-filter.js ├── json │ ├── auto-options-action.json │ └── meta-schema-v4.json ├── logger.js ├── middleware │ ├── discover.js │ ├── endpoint-sorter.js │ ├── index.js │ ├── request.js │ ├── response.js │ ├── route-handlers.js │ ├── route-map.js │ └── static.js ├── parse │ ├── action.js │ ├── blueprint.js │ ├── parameters.js │ └── url.js ├── query-comparator.js ├── route.js ├── setup.js ├── spec-schema.js └── watcher.js ├── package.json ├── test ├── api │ ├── content-type-test.js │ ├── cors-test.js │ ├── debugger-test.js │ ├── delayed-response-test.js │ ├── discover-test.js │ ├── form-urlencoded-test.js │ ├── headers-allow-headers-test.js │ ├── headers-allow-methods-test.js │ ├── headers-test.js │ ├── http-404-test.js │ ├── json-schema-test.js │ ├── mson-api-test.js │ ├── multipart-test.js │ ├── multiple-examples-api-test.js │ ├── options-auto-response-test.js │ ├── query-parameter-test.js │ ├── simple-api-test.js │ ├── ssl-test.js │ ├── static-content-test.js │ ├── static-versus-parametrized-api-test.js │ └── text-plain-test.js ├── example │ ├── config │ │ └── config.js │ ├── md │ │ ├── content-type.md │ │ ├── form-urlencoded.md │ │ ├── headers.md │ │ ├── json-schema.md │ │ ├── mson-api.md │ │ ├── multipart.md │ │ ├── multiple-examples-api.md │ │ ├── query-parameters.md │ │ ├── root-level-api.md │ │ ├── simple-api.md │ │ ├── static-versus-parametrized-api.md │ │ └── text-plain.md │ └── static │ │ ├── allthethings.png │ │ ├── things.html │ │ └── things.txt ├── lib │ ├── drakov-runner.js │ ├── final-callback.js │ ├── index.js │ ├── port.js │ └── stdout-hook.js ├── ssl │ ├── localhost.crt │ └── localhost.key └── unit │ ├── content-test.js │ ├── drakov-test.js │ ├── endpoint-sorter-test.js │ ├── query-comparator-test.js │ ├── spec-schema-test.js │ └── url-parser-test.js └── views ├── discover.pug └── layout.pug /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | node_modules/ 3 | atlassian-ide-plugin.xml 4 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/.jshintrc -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /.release-it.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/.release-it.json -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/Gruntfile.js -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/README.md -------------------------------------------------------------------------------- /RELEASING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/RELEASING.md -------------------------------------------------------------------------------- /drakov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/drakov -------------------------------------------------------------------------------- /drakov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/drakov.png -------------------------------------------------------------------------------- /examples/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/examples/config.js -------------------------------------------------------------------------------- /examples/express-middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/examples/express-middleware.js -------------------------------------------------------------------------------- /examples/node-module.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/examples/node-module.js -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/index.js -------------------------------------------------------------------------------- /lib/arguments/arguments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/arguments/arguments.js -------------------------------------------------------------------------------- /lib/arguments/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/arguments/index.js -------------------------------------------------------------------------------- /lib/content-type.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/content-type.js -------------------------------------------------------------------------------- /lib/content.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/content.js -------------------------------------------------------------------------------- /lib/debugRequest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/debugRequest.js -------------------------------------------------------------------------------- /lib/drakov.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/drakov.js -------------------------------------------------------------------------------- /lib/handler-filter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/handler-filter.js -------------------------------------------------------------------------------- /lib/json/auto-options-action.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/json/auto-options-action.json -------------------------------------------------------------------------------- /lib/json/meta-schema-v4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/json/meta-schema-v4.json -------------------------------------------------------------------------------- /lib/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/logger.js -------------------------------------------------------------------------------- /lib/middleware/discover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/discover.js -------------------------------------------------------------------------------- /lib/middleware/endpoint-sorter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/endpoint-sorter.js -------------------------------------------------------------------------------- /lib/middleware/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/index.js -------------------------------------------------------------------------------- /lib/middleware/request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/request.js -------------------------------------------------------------------------------- /lib/middleware/response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/response.js -------------------------------------------------------------------------------- /lib/middleware/route-handlers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/route-handlers.js -------------------------------------------------------------------------------- /lib/middleware/route-map.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/route-map.js -------------------------------------------------------------------------------- /lib/middleware/static.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/middleware/static.js -------------------------------------------------------------------------------- /lib/parse/action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/parse/action.js -------------------------------------------------------------------------------- /lib/parse/blueprint.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/parse/blueprint.js -------------------------------------------------------------------------------- /lib/parse/parameters.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/parse/parameters.js -------------------------------------------------------------------------------- /lib/parse/url.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/parse/url.js -------------------------------------------------------------------------------- /lib/query-comparator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/query-comparator.js -------------------------------------------------------------------------------- /lib/route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/route.js -------------------------------------------------------------------------------- /lib/setup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/setup.js -------------------------------------------------------------------------------- /lib/spec-schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/spec-schema.js -------------------------------------------------------------------------------- /lib/watcher.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/lib/watcher.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/package.json -------------------------------------------------------------------------------- /test/api/content-type-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/content-type-test.js -------------------------------------------------------------------------------- /test/api/cors-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/cors-test.js -------------------------------------------------------------------------------- /test/api/debugger-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/debugger-test.js -------------------------------------------------------------------------------- /test/api/delayed-response-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/delayed-response-test.js -------------------------------------------------------------------------------- /test/api/discover-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/discover-test.js -------------------------------------------------------------------------------- /test/api/form-urlencoded-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/form-urlencoded-test.js -------------------------------------------------------------------------------- /test/api/headers-allow-headers-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/headers-allow-headers-test.js -------------------------------------------------------------------------------- /test/api/headers-allow-methods-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/headers-allow-methods-test.js -------------------------------------------------------------------------------- /test/api/headers-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/headers-test.js -------------------------------------------------------------------------------- /test/api/http-404-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/http-404-test.js -------------------------------------------------------------------------------- /test/api/json-schema-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/json-schema-test.js -------------------------------------------------------------------------------- /test/api/mson-api-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/mson-api-test.js -------------------------------------------------------------------------------- /test/api/multipart-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/multipart-test.js -------------------------------------------------------------------------------- /test/api/multiple-examples-api-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/multiple-examples-api-test.js -------------------------------------------------------------------------------- /test/api/options-auto-response-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/options-auto-response-test.js -------------------------------------------------------------------------------- /test/api/query-parameter-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/query-parameter-test.js -------------------------------------------------------------------------------- /test/api/simple-api-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/simple-api-test.js -------------------------------------------------------------------------------- /test/api/ssl-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/ssl-test.js -------------------------------------------------------------------------------- /test/api/static-content-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/static-content-test.js -------------------------------------------------------------------------------- /test/api/static-versus-parametrized-api-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/static-versus-parametrized-api-test.js -------------------------------------------------------------------------------- /test/api/text-plain-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/api/text-plain-test.js -------------------------------------------------------------------------------- /test/example/config/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/config/config.js -------------------------------------------------------------------------------- /test/example/md/content-type.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/content-type.md -------------------------------------------------------------------------------- /test/example/md/form-urlencoded.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/form-urlencoded.md -------------------------------------------------------------------------------- /test/example/md/headers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/headers.md -------------------------------------------------------------------------------- /test/example/md/json-schema.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/json-schema.md -------------------------------------------------------------------------------- /test/example/md/mson-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/mson-api.md -------------------------------------------------------------------------------- /test/example/md/multipart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/multipart.md -------------------------------------------------------------------------------- /test/example/md/multiple-examples-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/multiple-examples-api.md -------------------------------------------------------------------------------- /test/example/md/query-parameters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/query-parameters.md -------------------------------------------------------------------------------- /test/example/md/root-level-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/root-level-api.md -------------------------------------------------------------------------------- /test/example/md/simple-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/simple-api.md -------------------------------------------------------------------------------- /test/example/md/static-versus-parametrized-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/static-versus-parametrized-api.md -------------------------------------------------------------------------------- /test/example/md/text-plain.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/md/text-plain.md -------------------------------------------------------------------------------- /test/example/static/allthethings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/static/allthethings.png -------------------------------------------------------------------------------- /test/example/static/things.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/example/static/things.html -------------------------------------------------------------------------------- /test/example/static/things.txt: -------------------------------------------------------------------------------- 1 | Zip2 2 | X.com 3 | SpaceX 4 | Solar City 5 | Hyperloop 6 | -------------------------------------------------------------------------------- /test/lib/drakov-runner.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/lib/drakov-runner.js -------------------------------------------------------------------------------- /test/lib/final-callback.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/lib/final-callback.js -------------------------------------------------------------------------------- /test/lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/lib/index.js -------------------------------------------------------------------------------- /test/lib/port.js: -------------------------------------------------------------------------------- 1 | module.exports = process.env.DRAKOV_PORT || 3003; 2 | -------------------------------------------------------------------------------- /test/lib/stdout-hook.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/lib/stdout-hook.js -------------------------------------------------------------------------------- /test/ssl/localhost.crt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/ssl/localhost.crt -------------------------------------------------------------------------------- /test/ssl/localhost.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/ssl/localhost.key -------------------------------------------------------------------------------- /test/unit/content-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/unit/content-test.js -------------------------------------------------------------------------------- /test/unit/drakov-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/unit/drakov-test.js -------------------------------------------------------------------------------- /test/unit/endpoint-sorter-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/unit/endpoint-sorter-test.js -------------------------------------------------------------------------------- /test/unit/query-comparator-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/unit/query-comparator-test.js -------------------------------------------------------------------------------- /test/unit/spec-schema-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/unit/spec-schema-test.js -------------------------------------------------------------------------------- /test/unit/url-parser-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/test/unit/url-parser-test.js -------------------------------------------------------------------------------- /views/discover.pug: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/views/discover.pug -------------------------------------------------------------------------------- /views/layout.pug: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aconex/drakov/HEAD/views/layout.pug --------------------------------------------------------------------------------