1.0.0 • Published 3 years ago

fx-serve v1.0.0

Weekly downloads
2
License
MIT
Repository
-
Last release
3 years ago

Fx Serve

Asynchronous node js request tool, following the REST http request style。

0. Install
# npm
npm install fx-serve
# yarn
yarn add fx-serve
1. How to use
var FxServe = require('fx-serve');

const your_service = FxServe('your_service_name');

async function get_your_service_data() {
  var fx = your_service.use();
  
  var [error, data] = await fx('/your_service_api_name'); // fx() = fx.get();
  if (error) {
    // TODO :: error
  }
  
  return data;
}
2. API & Options

FxServe(String | Object)


var FxServe = require('fx-serve');

FxServe('your_service_name | http://192.168.1.10:80');  // required
FxServe({ name: 'your_service_name | http://192.168.1.10', port: 80 }); // required, but if omit port will get 80.

// use action names
FxServe({...}, ['action1', 'action2', 'action3']); // 
           
// set http request options
var http_opts = {
  headers: // Object, for http headers
  body:    // for post / put data
  ...      // Get more info link to "https://github.com/ranm8/requestify"
};
FxServe({...}, null || [], http_opts);

FxServe().use(httpRequest, http_options)


var FxServe = require('fx-serve');

var service = FxServe('service_name');

async function express_js_router(request, response, next) {
  var fx = service.use(request, { headers: { 'X-YOUR-HEADER': "..." } });
  
  var [error, data] = await fx.post('/service_api_name', { body: ... });
  if (error || !data)
    return response.status(503).end('ERROR ::', error.message);
  
  response.status(200).end('create data success.');
}

fx() | fx.get() | fx.post() | fx.put() | fx.delete()


fx() | fx.get()

var fx = fx.use();

var use_query_params = { name: 'aaa', age: 'bbb' };

var [error, data] = await fx('/service_api_name', use_query_params);
===
var [error, data] = await fx.get('/service_api_name', use_query_params);

fx.post() | fx.put()

var fx = fx.use();

var use_query_params = { name: 'aaa', age: 'bbb' };
var post_body_params = {...}

var [error, data] = await fx.post('/service_api_name', post_body_params, use_query_params);
===
var [error, data] = await fx.put('/service_api_name', post_body_params, use_query_params);

fx.delete()

var fx = fx.use();

var use_query_params = { name: 'aaa', age: 'bbb' };

var [error, data] = await fx.delete('/service_api_name', use_query_params);

author: zonebond

e-mail: zonebond@126.com