18995: Merge branch 'main' into 18995-code-cleanup-5
[arvados.git] / services / api / lib / safe_json.rb
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 class SafeJSON
6   def self.dump(o)
7     return Oj.dump(o, mode: :compat)
8   end
9   def self.load(s)
10     if s.nil? or s == ''
11       # Oj 2.18.5 used to return nil. Not anymore on 3.6.4.
12       # Upgraded for performance issues (see #13803 and
13       # https://github.com/ohler55/oj/issues/441)
14       return nil
15     end
16     Oj.strict_load(s, symbol_keys: false)
17   end
18 end