npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript.Learn more »

micra

0.1.0 • Public • Published

micra

it's a small api server.

Install

$ npm install micra

Usage

var micra = require('micra');
var config = {};
micra(config);

config

api

Type: Object Default: {}
using Express Route paths for the object key.
the object value will be returned from server as JSON.

var config = {
  api: {
    '/': {
      type: 'config object',
      path: '/'
    },
    '/function/:a?/:b?': function(req) {
      return {
        type: 'config function',
        path: req.path,
        params: req.params
      };
    }
  }
};

src

Type: String Default: ''
outputting data by .js, .coffee and .json files in the src directory.

var config = {
  src: '/api'
};

/api/js.js

module.exports = {
  type: 'file object',
  path: '/js'
};
 
// output
// http://example.com/js
// {"type":"file object","path":"/js"}

/api/coffee.coffee

module.exports =
  type: 'file object'
  path: '/coffee'
 
# output 
# http://example.com/coffee 
# {"type":"file object","path":"/js"} 

/api/json.json

{
  "type": "file object",
  "path":"/json"
}
 
// output
// http://example.com/json
// {"type":"file object","path":"/json"}

/api/function/js.js

module.exports = function(req){
  return {
    type: 'file function',
    path: req.path,
    query: req.query
  };
}
 
// output
// http://example.com/function/js
// {"type":"file function","path":"/function/js","query":{}}
//
// http://example.com/function/js?key=val
// {"type":"file function","path":"/function/js","query":{"key":"val"}}

/api/function/coffee.coffee

module.exports = (req)->
  type: 'file function'
  path: req.path
  query: req.query
 
# output 
# http://example.com/function/coffee 
# {"type":"file function","path":"/function/coffee","query":{}} 
# 
# http://example.com/function/coffee?key=val 
# {"type":"file function","path":"/function/coffee","query":{"key":"val"}} 

port

Type: Integer Default: 8888
set any port number.

hostname

Type: String Default: null
set any host name.

basedir

Type: String Default: process.cwd()
change base directory of server.

origin

Type: String or Array or null Default: '*'
change Access-Control-Allow-Origin header.
for example

  • null (it allows only same domain with server.)
  • '*' (it allows all domains.)
  • 'http://example.com'
  • 'http://example.com https://example.com http://sub.example.com'
  • ['http://example.com', 'https://example.com', 'http://sub.example.com']

default

Type: Object or null Default: {}
if the URL path is undefined, the server will return the default data.

License

MIT

install

npm i micra

Downloadsweekly downloads

0

version

0.1.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability