Skip to content

First release

Compare
Choose a tag to compare
@icebob icebob released this 08 May 13:38
· 679 commits to master since this release

Features

  • support HTTP & HTTPS
  • serve static files
  • multiple routes
  • alias names
  • whitelist
  • multiple body parsers (json, urlencoded)
  • Buffer & Stream handling

Full service settings

settings: {

	// Exposed port
	port: process.env.PORT || 4000,

	// Exposed IP
	ip: process.env.IP || "0.0.0.0",

	// HTTPS server with certificate
	https: {
		key: fs.readFileSync("ssl/key.pem"),
		cert: fs.readFileSync("ssl/cert.pem")
	},

	// Exposed path prefix
	path: "/api",

	// Routes
	routes: [
		{
			// Path prefix to this route  (full path: /api/admin )
			path: "/admin",

			// Whitelist of actions (array of string mask or regex)
			whitelist: [
				"users.get",
				"$node.*"
			],

			// Action aliases
			aliases: {
				"POST users": "users.create",
				"health": "$node.health"
			},

			// Use bodyparser module
			bodyParsers: {
				json: true,
				urlencoded: { extended: true }
			}
		},
		{
			// Path prefix to this route  (full path: /api )
			path: "",

			// Whitelist of actions (array of string mask or regex)
			whitelist: [
				"posts.*",
				"file.*",
				/^math\.\w+$/
			],

			// Action aliases
			aliases: {
				"add": "math.add",
				"GET sub": "math.sub",
				"POST divide": "math.div",
			},
			
			// Use bodyparser module
			bodyParsers: {
				json: false,
				urlencoded: { extended: true }
			}
		}
	],

	// Folder to server assets (static files)
	assets: {

		// Root folder of assets
		folder: "./examples/www/assets",
		
		// Options to `server-static` module
		options: {}
	}
}