Sha256: b282c1d759680937c5d96a45ca56a3d3690b8ec7e2f55e893db83e4990e9d347

Contents?: true

Size: 702 Bytes

Versions: 31

Compression:

Stored size: 702 Bytes

Contents

module Shoryuken
  class BodyParser
    class << self
      def parse(worker_class, sqs_msg)
        body_parser = worker_class.get_shoryuken_options['body_parser']

        case body_parser
        when :json
          JSON.parse(sqs_msg.body)
        when Proc
          body_parser.call(sqs_msg)
        when :text, nil
          sqs_msg.body
        else
          if body_parser.respond_to?(:parse)
            # JSON.parse
            body_parser.parse(sqs_msg.body)
          elsif body_parser.respond_to?(:load)
            # see https://github.com/phstc/shoryuken/pull/91
            # JSON.load
            body_parser.load(sqs_msg.body)
          end
        end
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
shoryuken-6.2.1 lib/shoryuken/body_parser.rb
shoryuken-6.2.0 lib/shoryuken/body_parser.rb
shoryuken-6.1.1 lib/shoryuken/body_parser.rb
shoryuken-6.1.0 lib/shoryuken/body_parser.rb
shoryuken-6.0.0 lib/shoryuken/body_parser.rb
shoryuken-5.3.2 lib/shoryuken/body_parser.rb
shoryuken-5.3.1 lib/shoryuken/body_parser.rb
shoryuken-5.3.0 lib/shoryuken/body_parser.rb
shoryuken-5.2.3 lib/shoryuken/body_parser.rb
shoryuken-5.2.2 lib/shoryuken/body_parser.rb
shoryuken-5.2.1 lib/shoryuken/body_parser.rb
shoryuken-5.2.0 lib/shoryuken/body_parser.rb
shoryuken-5.1.1 lib/shoryuken/body_parser.rb
shoryuken-5.1.0 lib/shoryuken/body_parser.rb
shoryuken-5.0.6 lib/shoryuken/body_parser.rb
shoryuken-5.0.5 lib/shoryuken/body_parser.rb
shoryuken-5.0.4 lib/shoryuken/body_parser.rb
shoryuken-5.0.3 lib/shoryuken/body_parser.rb
shoryuken-5.0.2 lib/shoryuken/body_parser.rb
shoryuken-5.0.1 lib/shoryuken/body_parser.rb