Skip to content

Commit 6205781

Browse files
authored
Merge pull request #1747 from fluent/in_udp-add-remove_newline
in_udp: Add remove_newline parameter. fix #1741
2 parents d36de72 + c7eb166 commit 6205781

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

lib/fluent/plugin/in_udp.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class UdpInput < Input
3838
config_param :body_size_limit, :size, default: nil, deprecated: "use message_length_limit instead."
3939
desc "The max bytes of message"
4040
config_param :message_length_limit, :size, default: 4096
41+
desc "Remove newline from the end of incoming payload"
42+
config_param :remove_newline, :bool, default: true
4143

4244
config_param :blocking_timeout, :time, default: 0.5
4345

@@ -60,7 +62,7 @@ def start
6062

6163
log.info "listening udp socket", bind: @bind, port: @port
6264
server_create(:in_udp_server, @port, proto: :udp, bind: @bind, max_bytes: @message_length_limit) do |data, sock|
63-
data.chomp!
65+
data.chomp! if @remove_newline
6466
begin
6567
@parser.parse(data) do |time, record|
6668
unless time && record

test/plugin/test_in_udp.rb

+23
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,27 @@ def create_udp_socket(host, port)
149149
assert_equal expected_record, d.events[i][2]
150150
end
151151
end
152+
153+
test 'remove_newline' do
154+
d = create_driver(BASE_CONFIG + %!
155+
format none
156+
remove_newline false
157+
!)
158+
payloads = ["test1\n", "test2\n"]
159+
d.run(expect_records: 2) do
160+
create_udp_socket('127.0.0.1', PORT) do |u|
161+
payloads.each do |payload|
162+
u.send(payload, 0)
163+
end
164+
end
165+
end
166+
167+
expecteds = payloads.map { |payload| {'message' => payload} }
168+
assert_equal 2, d.events.size
169+
expecteds.each_with_index do |expected_record, i|
170+
assert_equal "udp", d.events[i][0]
171+
assert d.events[i][1].is_a?(Fluent::EventTime)
172+
assert_equal expected_record, d.events[i][2]
173+
end
174+
end
152175
end

0 commit comments

Comments
 (0)