Skip to content

Latest commit

 

History

History
151 lines (126 loc) · 2.9 KB

README.md

File metadata and controls

151 lines (126 loc) · 2.9 KB

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

default

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

License

MIT