This package supports to intercept XHR/JSONP/Fetch requests and forward to the specified mock server.
Install from Chrome web store.
Or load the plugin by following Google's development guide. The plugin folder is crx
.
If the development mode plugin is disabled by Chrome, you can uninstall and install it again.
<head>
<!-- Make sure to be loaded first -->
<script type="text/javascript" src="dist/parrot.js"></script>
</head>
// Modifiy webpack.config.js to prepend this package to dependencies of each entry
module.exports = {
entry: ['parrot-mocker', './yours/src/entry.js']
};
We export a function to rewrite the request url.
- urlStr
string
the url of the API request - options
- reqType
string
the type of request, likejsonp
- pageUrl
string
the url of the page - cookie
string
the cookie of the page request - shouldSkip
function
skip rewritting if returns true. By default, no host or includinglocal
will be filtered. Its arguments are:- host
string
the API host
- host
- reqType
For example, let's make a simple middleware for Koa,
var fetch = require('node-fetch');
var wrapUrl = require('parrot-mocker').wrapUrl;
module.exports = function*(next) {
this.fetch = (url, options) => {
return fetch(wrapUrl(url, {
pageUrl: this.url,
cookie: this.header.cookie
}));
};
yield* next;
};
- whatwg-fetch, fetch polyfill
- mozilla-doc-cookies, cookie utils
- cortex-cookie-manager, crx sample