Sha256: 63ab45e5ca14754234b467747ddb5ef94c0c185cde3f42ee4558fc2535fb7789

Contents?: true

Size: 689 Bytes

Versions: 1

Compression:

Stored size: 689 Bytes

Contents

# encoding: utf-8
module JWT
  # JSON fallback implementation or ruby 1.8.x
  module Json
    if RUBY_VERSION >= '1.9' && !defined?(MultiJson)
      require 'json'

      def decode_json(encoded)
        JSON.parse(encoded)
      rescue JSON::ParserError
        raise JWT::DecodeError.new('Invalid segment encoding')
      end

      def encode_json(raw)
        JSON.generate(raw)
      end

    else
      require 'multi_json'

      def decode_json(encoded)
        MultiJson.decode(encoded)
      rescue MultiJson::LoadError
        raise JWT::DecodeError.new('Invalid segment encoding')
      end

      def encode_json(raw)
        MultiJson.encode(raw)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jwt-1.5.1 lib/jwt/json.rb