GitXplorerGitXplorer
j

minion_rb

public
3 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
e2bceffedeb36153609c996b36c74b2c7abea927

0.1.3

jjbodah committed 6 years ago
Unverified
34644509f37e523acff99839ae7d2cb22cfb8d95

fix super call

jjbodah committed 6 years ago
Unverified
22d0633c97f0128f1f0272ed9f7f9d64c0f8b101

bump to 0.1.2

jjbodah committed 6 years ago
Unverified
039355c0944b5e476b9290dfda96e24b0c964f75

pass res to http handler

jjbodah committed 6 years ago
Unverified
10d588c64ae2b54948517e76729b920dc2a38348

fix regexp on host match

jjbodah committed 6 years ago
Unverified
2d5478120a3930b57b270124ac1472dcde7c07b7

bump version to 0.1.1

jjbodah committed 6 years ago

README

The README file for this repository.

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