Switch language한국어
Back to the list

Extending your API gateway without forking it

TL;DR AI

Key summary

2 min read
  1. KrakenD uses a modifier registration approach with a ModifierRegisterer symbol and a RegisterModifiers function.

  2. Kono uses a plugin model where a Go file implements Info(), Type(), Init(), and Execute().

  3. Kono plugins receive a Context that gives direct access to http.Request and http.Response without wrappers.

  4. KrakenD requires copying RequestWrapper and ResponseWrapper interface definitions into plugins and uses interface{} to avoid dependency collisions; wiring happens via extra_config in JSON.

  5. Examples: Kono’s snakeify plugin (~100 lines) converts JSON keys to snake_case, and both examples show middleware using standard Go http.Handler wrapping.

Read the original