UNPKG

apeman-app-rest

Version:
43 lines (37 loc) 760 B
/** * @class SpecEndpoint */ 'use strict' const Endpoint = require('./endpoint') const restSpec = require('../specifying/rest_spec') const url = require('url') const co = require('co') /** @lends SpecEndpoint */ class SpecEndpoint extends Endpoint { /** * @override */ getDefaultConfig () { return { name: 'spec' } } /** * @override */ handle (ctx, next) { const s = this let { model } = ctx.state let { pathname } = s return co(function * spec () { let $spec = restSpec(model, { pathname }) let link = url.parse(ctx.link('.')) Object.assign($spec, { basePath: link.pathname, host: link.host }) ctx.body = $spec }) } } module.exports = SpecEndpoint