request-watcher-server

1.5.3 • Public • Published

request-watcher-webapp

an app for request-watcher

Install

$ npm install -g request-watcher-server
$ npm install -D request-watcher

Usage

Start Server

The server requires node v7.6.0 or higher for ES2015 and async function support

Once you globally installed the request-watcher-server, you will get a global cmd request-watcher-server and also rws for short.

And then you can use the following cmd:

$ rws [-a 0.0.0.0] [-p 2333]

default address is 0.0.0.0:2333 you can use rws -h to get more help

Watch Request

const watcher = require('request-watcher')
const watcherParams = {
  username: 'username',
  appname: 'appname',
  labels: [],
}

// e.g.
// before send a request, emit the request to request-watcher-server
const { emitReq, emitRes } = watcher(watcherParams)
const requestParams = { url, params, headers, method: 'POST' }
emitReq(requestParams)
axios.post(url, params, headers)
  .then(res => {
    // after get the response, emit the response to request-watcher-server
    const { status, data, headers } = res
    const responseParams = { status, data, headers }
    emitRes(responseParams)
    // your biz code bellow
  })
  .catch(err => {
  })

Note that each time you watch a request, you need to use the watcher function to regenerate the matching emitReq and emitRes

watcherParams

watcherParams is an Object Containing the following properties

Args Type Description
origin String (optional) watcher origin
username String (required) one of the request markers
appname String (required) one of the request markers
labels [String] (optional) add extra label to request to differentiate

requestParams

requestParams is an Object Containing the following properties

Args Type Description
url String (optional) request url
method String (optional) request method
headers Object (optional) request headers
params Object (optional) request params in body

responseParams

responseParams is an Object Containing the following properties

Args Type Description
status Integer (optional) response status
headers Object (optional) response headers
data Object (optional) response data

Watch Logger

You can just emit a log to the server, like bellow:

const { emitLog } = watcher(watcherParams)

const loggerParams = { title: 'logger', content: 'this is a log' }
emitLog(loggerParams)

loggerParams

loggerParams is an Object Containing the following properties

Args Type Description
title String (optional) logger title
content Any (optional) logger content

Global Config

You can use watcher.global to define global params, and thus you can just use watcher() without passing params.

watcher.global.origin = 'http://127.0.0.1:8080' // default is 'http://0.0.0.0:2333'
watcher.global.username = 'lisiur' // default is 'username'
watcher.global.appname = 'test-app' // default is 'appname'

const { emitReq, emitRes } = watcher()
const { emitLog } = watcher()

Plugins

We support plugin to simplify the configs. And now we have those plugins:

Plugin Usage

Using axios for example:

const watcher = require('request-watcher')
watcher.use(require('request-watcher-axios'))

And then, you can just focus on your biz code without inserting redundant code before or after the ajaxing code.

Eggs

  • Clicking the Console button outputs the data to the browser's console and obtains a global variable $it pointing to that data.

Example

Refer to this example

Enjoy! :)

Readme

Keywords

none

Package Sidebar

Install

npm i request-watcher-server

Weekly Downloads

2

Version

1.5.3

License

MIT

Last publish

Collaborators

  • lisiurday