class GlassOctopus::Middleware::AvroParser

Public Class Methods

new(app, schema_registry_url, options={}) click to toggle source
# File lib/glass_octopus/middleware/avro_parser.rb, line 12
def initialize(app, schema_registry_url, options={})
  @app = app
  @decoder = AvroTurf::Messaging.new(registry_url: schema_registry_url, logger: options[:logger])
end

Public Instance Methods

call(ctx) click to toggle source
# File lib/glass_octopus/middleware/avro_parser.rb, line 17
def call(ctx)
  message = @decoder.decode(ctx.message.value)
  ctx = ContextWithAvroParsedMessage.new(ctx, message)
  @app.call(ctx)
end