sideshowcoder/canned

View on GitHub
bin/canned

Summary

Maintainability
Test Coverage
#!/usr/bin/env node
var canned = require('../index')
,   path = require('path')
,   http = require('http')
,   optimist = require('optimist')
,   argv = optimist
          .default('p', 3000)
          .alias('p', 'port')
          .describe('p', 'server port')
          .default('w', 'any')
          .alias('w', 'wildcard')
          .describe('w', 'wildcard path name for ids')
          .default('response_delay', 0)
          .describe('response_delay', 'response resolve delay')
          .default('relaxed_accept', false)
          .describe('relaxed_accept', 'iterates through Accept header values from beginning to end')
          .default('cors', true)
          .describe('cors', 'disable cors support')
          .default('headers', false)
          .describe('headers', 'add custom headers allowed in cors requests')
          .default('h', false)
          .alias('h', 'help')
          .describe('h', 'show the help')
          .usage('Usage: $0 [dir]')
          .argv

if (argv.h) {
  optimist.showHelp()
  return
}

var dir = ''
,   port = argv.p
,   relaxed_accept = argv.relaxed_accept
,   cors = argv.cors
,   cors_headers = argv.headers
,   logger
,   cannedDir
,   wildcard = argv.wildcard
,   response_delay = argv.response_delay

if (argv._.length === 1) dir = argv._[0] // use the passed directory
if (argv.q) {
  logger = null // be quiet
} else {
  logger = process.stdout
  cannedDir = path.resolve(dir)
  process.stdout.write('starting canned on port ' + port + ' for ' + cannedDir + '\n')
}

var can = canned(dir, {
  logger: logger,
  relaxed_accept: relaxed_accept,
  cors: cors,
  cors_headers: cors_headers,
  wildcard: wildcard,
  response_delay: response_delay
})

http.createServer(can).listen(port)