Module: Fluent::Plugin::JsonSizeLimit::StringEncoding

Defined in:
lib/fluent/plugin/json_size_limit/string_encoding.rb

Class Method Summary collapse

Class Method Details

.validate!(value) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/fluent/plugin/json_size_limit/string_encoding.rb', line 11

def validate!(value)
  unless value.valid_encoding?
    raise InvalidStringEncodingError, value.encoding.name
  end

  # Binary bytes have no character boundaries, so truncating them could
  # silently change payload semantics. ASCII-only binary strings are safe.
  if value.encoding == Encoding::ASCII_8BIT && !value.ascii_only?
    raise InvalidStringEncodingError, value.encoding.name
  end
end