Sha256: 0e0f62b25b4d1a6cf099c44c6eb9fab60e151b0667bce716d4442b88af36d1b5

Contents?: true

Size: 538 Bytes

Versions: 6

Compression:

Stored size: 538 Bytes

Contents

module Fakeit
  module Middleware
    class Recorder
      def initialize(app) = @app = app

      def call(env)
        env
          .tap(&method(:log_request))
          .then { @app.call(_1) }
          .tap(&method(:log_response))
      end

      private

      def log_request(env)
        env['rack.input']
          &.tap { |body| Logger.info("Request body: #{body.read}") }
          &.tap { |body| body.rewind }
      end

      def log_response(response) = Logger.info("Response body: #{response[2].first}")
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fakeit-0.10.0 lib/fakeit/middleware/recorder.rb
fakeit-0.9.2 lib/fakeit/middleware/recorder.rb
fakeit-0.9.1 lib/fakeit/middleware/recorder.rb
fakeit-0.9.0 lib/fakeit/middleware/recorder.rb
fakeit-0.8.1 lib/fakeit/middleware/recorder.rb
fakeit-0.8.0 lib/fakeit/middleware/recorder.rb