403Webshell
Server IP : 66.29.132.122  /  Your IP : 18.226.187.233
Web Server : LiteSpeed
System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : admazpex ( 531)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.15.0/lib/multi_json/adapters/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.15.0/lib/multi_json/adapters/oj.rb
require 'set'
require 'oj'
require 'multi_json/adapter'

module MultiJson
  module Adapters
    # Use the Oj library to dump/load.
    class Oj < Adapter
      defaults :load, :mode => :strict, :symbolize_keys => false
      defaults :dump, :mode => :compat, :time_format => :ruby, :use_to_json => true

      # In certain cases OJ gem may throw JSON::ParserError exception instead
      # of its own class. Also, we can't expect ::JSON::ParserError and
      # ::Oj::ParseError to always be defined, since it's often not the case.
      # Because of this, we can't reference those classes directly and have to
      # do string comparison instead. This will not catch subclasses, but it
      # shouldn't be a problem since the library is not known to be using it
      # (at least for now).
      class ParseError < ::SyntaxError
        WRAPPED_CLASSES = %w[Oj::ParseError JSON::ParserError].to_set.freeze

        def self.===(exception)
          case exception
          when ::SyntaxError
            true
          else
            WRAPPED_CLASSES.include?(exception.class.to_s)
          end
        end
      end

      def load(string, options = {})
        options[:symbol_keys] = options[:symbolize_keys]
        ::Oj.load(string, options)
      end

      case ::Oj::VERSION
      when /\A2\./
        def dump(object, options = {})
          options.merge!(:indent => 2) if options[:pretty]
          options[:indent] = options[:indent].to_i if options[:indent]
          ::Oj.dump(object, options)
        end
      when /\A3\./
        PRETTY_STATE_PROTOTYPE = {
          :indent                => "  ",
          :space                 => " ",
          :space_before          => "",
          :object_nl             => "\n",
          :array_nl              => "\n",
          :ascii_only            => false,
        }

        def dump(object, options = {})
          options.merge!(PRETTY_STATE_PROTOTYPE.dup) if options.delete(:pretty)
          ::Oj.dump(object, options)
        end
      else
        fail "Unsupported Oj version: #{::Oj::VERSION}"
      end
    end
  end
end

Youez - 2016 - github.com/yon3zu
LinuXploit