New blog domain: kula.blog

It's still work in progress but new posts will be published on  https://kula.blog/ Thanks to 11ty base blog RSS is working from the start so it should be easy to add to your reader if you still use any :) If now then I hope you can sign up to the newsletter where I'll be publishing new posts and interesting articles to it from time to time. Please use  kula.blog  from now on.

How to simulate slow connection (developer proxy in Node.js)

Update: If you use Chrome then you can use "Throttling" so simulate slow network for all your assets. This should be easier than proxy.


  1. Toggle device mode toggle device mode icon off
  2. Choose Network type.
  3. Refresh the page





https://developer.chrome.com/devtools/docs/device-mode 



Proxy:



For some time I wanted to use some proxy for development and testing of eg. slow internet connection, but it was hard to find something useful and free. I know there is Charles but buy it to use it at most one in a month is not for me.

I started thinking about Node.js, maybe I can write proxy for me? But fortunately I found one.

https://github.com/nodejitsu/node-http-proxy

With this module I can write really short code to create slow server:



var http = require('http'),
    httpProxy = require('http-proxy');

httpProxy.createServer(function (req, res, proxy) {
  
  var buffer = httpProxy.buffer(req);

  setTimeout(function () {
    proxy.proxyRequest(req, res, {
      host: 'localhost',
      port: 8080,
      buffer: buffer
    });
  }, 2000);
}).listen(8000);

Result is proxy server running on port 8000 and returning all content from port 8080 after 2 seconds delay :)

Comments

  1. It simulates +2 sec delay for requests to target but does nothing with responses from target, so this is not very accurate simulation of latency.

    ReplyDelete

Post a Comment

Comments:

Popular posts from this blog

How to use NPM packages from private repositories on bitbucket