Skip to content

Package Matrix

Use this table to choose the smallest useful set of packages for your application.

Decision matrix

NeedStart withAdd nextNotes
Mounted reverse proxy routereversecookies, observeBest when your app owns the outer router and mount path
Absolute-URI HTTP forward proxyforwardconnect, proxyruntime, observeforward intentionally does not own CONNECT
HTTPS tunnels over CONNECTconnectobserve, optionally mitmKeep plain tunneling separate from interception policy
WebSocket proxyingwsproxyobserve, socketioSocket.IO stays optional
Runtime start and stop of listenersproxyruntimeforward, connectGood for desktop tools and admin-controlled services
Cookie isolation for mounted reverse proxyingcookiesreverseUseful when browser cookies would otherwise collide at the proxy boundary
Neutral event hooks for capture or metricsobserveany transport packageKeep storage and DTOs outside the module
Socket.IO event parsingsocketiowsproxyOnly for text-frame protocol derivation
Development-grade TLS interception helpersmitmconnect, your own policy layerIntentionally optional and not a full CA control plane

Common bundles

Minimal reverse proxy

  • reverse

Reverse proxy plus browser-safe cookies

  • reverse
  • cookies

Developer proxy

  • forward
  • connect
  • proxyruntime
  • observe

WebSocket inspector

  • wsproxy
  • observe
  • socketio

Runtime-controlled desktop proxy

  • forward
  • connect
  • proxyruntime
  • observe
  • optionally wsproxy

What not to do

Do not import every package by default just because they live in the same module.

If your app only needs mounted reverse proxying, start with reverse and stop there. Add cookies, observe, or mitm only when the product actually needs those responsibilities.

Released under the Apache 2.0 License.