Class: Gitlab::Utils::TomlParser
- Inherits:
-
Object
- Object
- Gitlab::Utils::TomlParser
- Defined in:
- lib/gitlab/utils/toml_parser.rb
Constant Summary collapse
- PARSE_TIMEOUT =
2.seconds
- ParseError =
Class.new(StandardError)
Class Method Summary collapse
Class Method Details
.safe_parse(content) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/gitlab/utils/toml_parser.rb', line 10 def self.safe_parse(content) Timeout.timeout(PARSE_TIMEOUT) do TomlRB.parse(content) end rescue TomlRB::ParseError raise ParseError, 'content is not valid TOML' rescue Timeout::Error => e Gitlab::ErrorTracking.log_exception(e) raise ParseError, 'timeout while parsing TOML' rescue TomlRB::Error => e raise ParseError, "error parsing TOML: #{e.}" end |