diff --git a/fluentd.gemspec b/fluentd.gemspec index de94bd83cc..3fd0e447f9 100644 --- a/fluentd.gemspec +++ b/fluentd.gemspec @@ -34,6 +34,7 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency("strptime", [">= 0.2.4", "< 1.0.0"]) gem.add_runtime_dependency("webrick", ["~> 1.4"]) gem.add_runtime_dependency("zstd-ruby", ["~> 1.5"]) + gem.add_runtime_dependency("uri", '~> 1.0') # gems that aren't default gems as of Ruby 3.4 gem.add_runtime_dependency("base64", ["~> 0.2"]) diff --git a/lib/fluent/plugin/buffer/file_single_chunk.rb b/lib/fluent/plugin/buffer/file_single_chunk.rb index 4cc9d6c625..1ac62291f9 100644 --- a/lib/fluent/plugin/buffer/file_single_chunk.rb +++ b/lib/fluent/plugin/buffer/file_single_chunk.rb @@ -243,11 +243,11 @@ def file_rename(file, old_path, new_path, callback = nil) def encode_key(metadata) k = @key ? metadata.variables[@key] : metadata.tag k ||= '' - URI::DEFAULT_PARSER.escape(k, ESCAPE_REGEXP) + URI::RFC2396_PARSER.escape(k, ESCAPE_REGEXP) end def decode_key(key) - URI::DEFAULT_PARSER.unescape(key) + URI::RFC2396_PARSER.unescape(key) end def create_new_chunk(path, metadata, perm)