Skip to content

Simple web server to forward received requests to real servers or just mock

License

Notifications You must be signed in to change notification settings

chinesedfan/parrot-mocker-web

Repository files navigation

parrot-mocker-web npm version Build Status Coverage Status License

中文文档

This project provides a simple mock server, which works with the Chrome plugin parrot-mocker.

Support:

  • foward requests of pages(xhr/jsonp/fetch) to the real web server, or just mock
  • list all forwarded requests
  • config mock rules for different requests

Not support:

  • cookie sensitive requests, because the plugin forwards requests with cookies of the page, instead of cookies of the request domain
  • relative or local DNS parsed requests, because the mock server can not resolve them
  • HTTPS pages, unless the mock server is deployed with HTTPS (Solved by leancloud and now.sh)

How to use

1.Prepare

Install Chrome plugin, parrot-mocker, so that your pages have the ablity to intercept requests and forward to this mock server. Other usages without the plugin can refer to parrot-mocker project.

2.Visit

For example, if deployed in leancloud, please open your Chrome browser and visit index page first. Other instances like now.sh are similar.

Then visit your test page, i.e. my demo, which will send 3 different requests(xhr/jsonp/fetch) after loaded.

In the plugin, input the mock server address and click the green button. The test page will reload automatically.

Now you will find that requests are forwarded to the mock server, which are also visiable at index page. If visiting other pages in the same domain, their requests will also be forwarded to this mock server.

3.Mock

Click any request in the list, and click 'Add'. Then this request is added to mock.

Open config page, now you can edit the mock data. Remember to click 'Apply' to really use the mock data.

Refresh your test page to check whether the mock is working correctly.

Launch locally

By default, the server is launched on main port 8080, and sub-ports 8442/8443. Sub-ports can be visited by http/https correspondingly. Because my https is self-certified, if your browser gives a warning, please continue to visit.

node ./server/index.js

Or you can specify the port by an environment variable.

PORT=8888 HTTP_PORT=9442 HTTPS_PORT=9443 node ./server/index.js

To use local server, you should visit and set local address as mock server in step 2, i.e. https://127.0.0.1:8080, and other steps are similar with above.

Tips

  • In order to handles redirections well, please make sure the server can also visit itself by the host address that you input in the Chrome plugin.

License

MIT

Acknowledgement