UNPKG

hoxy

Version:

Web-hacking proxy API for node

59 lines (51 loc) • 3.74 kB
# Hoxy An HTTP hacking tool for JavaScript programmers. Please see the [documentation page](http://greim.github.io/hoxy/) for more info. ```js var hoxy = require('hoxy'); var proxy = hoxy.createServer().listen(8080); proxy.intercept({ phase: 'response', mimeType: 'text/html', as: '$' }, function(req, resp) { resp.$('title').text('Unicorns!'); // all page titles will now say "Unicorns!" }); ``` # Version 3.0 Hoxy has released version 3.0. This release simplifies the API and better supports ES6. Notable changes: * A `done` callback is no longer passed as the third arg to interceptors. Interceptor arity is, accordingly, no longer a switch for async behavior. Rather, it solely depends on the return type of the interceptor (i.e. promises or iterators over promises). * The third argument to interceptors is now the `cycle` object, === to `this`. This was based on a suggestion from [@nerdbeere](https://github.com/nerdbeere), with a view toward supporting arrow functions, in which `this` is lexical. * The CLI has been completely removed from the project. The reasoning is that, by simplifying the project, I can more easily maintain it. If there's a need, it can be brought back as a separate npm module. Perhaps somebody else can take that on. * Undocumented `hoxy.forever()` function goes away. # Release notes: * **2.3.0** Added getter and setter for proxy-level slow options. * **2.2.6** Added eslint npm script. Thanks [@nerdbeere](https://github.com/nerdbeere). * **2.2.5** Fixed a bug where `.buffer` was always undefined. Thanks [@Timwi](https://github.com/Timwi). * **2.2.4** Added babel optional runtime transformer. * **2.2.3** Fixed broken reference to lodash-node in CLI. * **2.2.2** Updated hoxy version in CLI. * **2.2.1** Fixed error in npmignore. * **2.2.0** Added proxy-level throttling. * **2.1.1** Ditched babel require hook and instead use compile/prepublish. * **2.1.0** Ability to run reversy proxy as an HTTPS server. Thanks [@snoj](https://github.com/snoj). * **2.0.0** Direct HTTPS proxying and improved async support in interceptors. Thanks [@snoj](https://github.com/snoj), [@Phoenixmatrix](https://github.com/Phoenixmatrix), [@sholladay](https://github.com/sholladay) and others for helping with the HTTPS stuff! * **1.2.4** Improved cheerio markup serialization. Thanks [Seth Holladay](https://github.com/sholladay). * **1.2.3** Test command now `npm test` instead of `mocha`. Proxy `close()` method now passes args through to server close. Thanks [Seth Holladay](https://github.com/sholladay). * **1.2.2** Fixed errors and test failures occurring on io.js. * **1.2.1** Make `listen()` accept same args as native `server.listen()` instead of just port. Thanks [Seth Holladay](https://github.com/sholladay). * **1.2.0** Send content-length whenever reasonably possible. (minor version bump since minor alteration to existing behavior) * **1.1.5** Default protocol to 'http:' if not found because I'm a genius. * **1.1.4** Default protocol to 'http' if not found. * **1.1.3** Don't munge content-length headers unless necessary. * **1.1.2** Burned a version number because I suck at npm. * **1.1.1** Added SSL support for requests (protocol: https). * **1.1.0** Added CLI functionality to scaffold new proxy projects. * **1.0.5** Fixed static conditional get fail, flexible contentType matching, ability to set fullUrl. * **1.0.4** npm distribution no longer contains test directory. * **1.0.3** Fixed issue #21 causing breakage on windows, due to use of unix domain sockets. * **1.0.2** Added `tee()` method to requests and responses, and accompanying tests. * **1.0.1** Fixed bug with URL pattern matching, added filtering tests. * **1.0.0** Initial release of Hoxy 1.0 rewrite.