Project

minion_rb

0.0
No commit activity in last 3 years
No release in over 3 years
a dsl for proxying http traffic
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.16
~> 10.0
~> 3.0

Runtime

 Project Readme

minion_rb

a dsl for proxying http traffic

Installation

gem install minion_rb

Usage

minion_rb is built on top of evil-proxy so you must install the CA cert in your browser as described here to function properly with HTTPS.

Once you've done that you'll need to write a driver script for the proxy. Below is an example where I replace fast.wistia.com/assets/app/stats-<SHA>.js with a local file by querying webpack-dev-server:

# proxy.rb
require 'minion'

Minion.proxy do
  host "fast.wistia.com" do
    get /stats-[a-z0-9]*\.js$/ do |req, res|
      require 'json'
      manifest = JSON.parse(`curl 0.0.0.0:3001/assets/manifest.json`)
      asset = manifest["assetsByChunkName"]["app/stats"]
      res.body = `curl https://example2.wistia.dev/assets/#{asset}`
    end
  end
end.start

Then run it with Ruby and hit your endpoint:

ruby proxy.rb