class ActionSubscriber::Middleware::Decoder

Attributes

env[R]

Public Class Methods

new(app) click to toggle source
# File lib/action_subscriber/middleware/decoder.rb, line 6
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/action_subscriber/middleware/decoder.rb, line 10
def call(env)
  @env = env

  env.payload = decoder? ? decoder.call(encoded_payload) : encoded_payload.dup

  @app.call(env)
end

Private Instance Methods

decoder() click to toggle source
# File lib/action_subscriber/middleware/decoder.rb, line 20
def decoder
  ::ActionSubscriber.config.decoder[env.content_type]
end
decoder?() click to toggle source
# File lib/action_subscriber/middleware/decoder.rb, line 24
def decoder?
  decoder.present?
end
encoded_payload() click to toggle source
# File lib/action_subscriber/middleware/decoder.rb, line 28
def encoded_payload
  env.encoded_payload
end