Module: Twirp

Defined in:
lib/twirp/rails/logger.rb,
lib/twirp/rails/error.rb,
lib/twirp/rails/engine.rb,
lib/twirp/rails/handler.rb,
lib/twirp/rails/version.rb,
lib/twirp/rails/callbacks.rb,
lib/twirp/rails/rescuable.rb,
lib/twirp/rails/dispatcher.rb,
lib/twirp/rails/configuration.rb,
lib/twirp/rails/rack/conditional_post.rb

Overview

Rack::CommonLogger is nice but we can do better. Rails doesn’t use it, but we need to log Twirp requests. Here’s an example from Rack::CommonLogger:

127.0.0.1 - - [12/Jan/2025:17:09:49 -0500] "POST /twirp/twirp.example.haberdasher.Haberdasher/MakeHat HTTP/1.0" 200 - 439.0060

Rails gives us this:

Started POST "/twirp/twirp.example.haberdasher.Haberdasher/MakeHat" for 127.0.0.1 at 2025-01-12 22:48:00 -0500

but we also want to know the result of the Twirp call. Here’s what this Logger adds:

Twirp 200 in 2ms as application/protobuf

Defined Under Namespace

Modules: Rails