logstash-input-imap 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1061e859d05e791c0f30f094c6cf525a2de718a
4
- data.tar.gz: 7da521531e94d56dcd148b40a4ebef1b26e265d0
3
+ metadata.gz: 8e44a07b4668341c7b203b9c62749c0544dc8892
4
+ data.tar.gz: 69834845b863c7ff2aff43743296d95f4e50b67d
5
5
  SHA512:
6
- metadata.gz: 01f082faa81e940a2775294fde3f5682fb0c5361015dc36351faf22f19cf30163fa9b982f5e7412ad0e899e254f9a302628aba6dc1402a65ff1d90fa468147fd
7
- data.tar.gz: 57107ddfd66c0680d32d05a79ba4a432fb1c4e1d6027fade448169b5f4b8cd7a8fe7975ce7d097b98f5dab505f3989dcbb5d249061f199db86afe51d9dc972ba
6
+ metadata.gz: db7e4523bc2c697778f4765c2a4d4733bf1b4bbe52707ce7a05dc781537e5edb4ac5792692577778ebd31e113370cb75b1f3c1a3454ad3259d1691bec3cefb1f
7
+ data.tar.gz: 8fb6a62d4b5edd78f38f88ae25bbfe102c4982db54d75d9fe77dff33e8b4dd87527dc49c4da943ee8fd8bb05ff19c726381e1134c19f56d5486d78bd7d12a08f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
+ ## 2.0.3
2
+ - Fixed fields assignments
3
+
1
4
  ## 2.0.0
2
- - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
5
+ - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
3
6
  instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
4
7
  - Dependency on logstash-core update to 2.0
5
8
 
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Logstash Plugin
2
2
 
3
+ [![Build
4
+ Status](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Inputs/job/logstash-plugin-input-imap-unit/badge/icon)](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Inputs/job/logstash-plugin-input-imap-unit/)
5
+
3
6
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
4
7
 
5
8
  It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
@@ -32,7 +32,6 @@ class LogStash::Inputs::IMAP < LogStash::Inputs::Base
32
32
  # content-type as the event message.
33
33
  config :content_type, :validate => :string, :default => "text/plain"
34
34
 
35
- public
36
35
  def register
37
36
  require "net/imap" # in stdlib
38
37
  require "mail" # gem 'mail'
@@ -89,11 +88,11 @@ class LogStash::Inputs::IMAP < LogStash::Inputs::Base
89
88
 
90
89
  imap.close
91
90
  imap.disconnect
92
- end # def run
91
+ end
93
92
 
94
93
  def parse_mail(mail)
95
94
  # Add a debug message so we can track what message might cause an error later
96
- @logger.debug("Working with message_id", :message_id => mail.message_id)
95
+ @logger.debug? && @logger.debug("Working with message_id", :message_id => mail.message_id)
97
96
  # TODO(sissel): What should a multipart message look like as an event?
98
97
  # For now, just take the plain-text part and set it as the message.
99
98
  if mail.parts.count == 0
@@ -106,20 +105,13 @@ class LogStash::Inputs::IMAP < LogStash::Inputs::Base
106
105
  end
107
106
 
108
107
  @codec.decode(message) do |event|
109
- # event = LogStash::Event.new("message" => message)
110
-
111
108
  # Use the 'Date' field as the timestamp
112
109
  event.timestamp = LogStash::Timestamp.new(mail.date.to_time)
113
110
 
114
111
  # Add fields: Add message.header_fields { |h| h.name=> h.value }
115
112
  mail.header_fields.each do |header|
116
- if @lowercase_headers
117
- # 'header.name' can sometimes be a Mail::Multibyte::Chars, get it in
118
- # String form
119
- name = header.name.to_s.downcase
120
- else
121
- name = header.name.to_s
122
- end
113
+ # 'header.name' can sometimes be a Mail::Multibyte::Chars, get it in String form
114
+ name = @lowercase_headers ? header.name.to_s.downcase : header.name.to_s
123
115
  # Call .decoded on the header in case it's in encoded-word form.
124
116
  # Details at:
125
117
  # https://github.com/mikel/mail/blob/master/README.md#encodings
@@ -129,21 +121,24 @@ class LogStash::Inputs::IMAP < LogStash::Inputs::Base
129
121
  # Assume we already processed the 'date' above.
130
122
  next if name == "Date"
131
123
 
132
- case event[name]
124
+ case (field = event[name])
125
+ when String
133
126
  # promote string to array if a header appears multiple times
134
127
  # (like 'received')
135
- when String; event[name] = [event[name], value]
136
- when Array; event[name] << value
137
- when nil; event[name] = value
128
+ event[name] = [field, value]
129
+ when Array
130
+ field << value
131
+ event[name] = field
132
+ when nil
133
+ event[name] = value
138
134
  end
139
- end # mail.header_fields.each
135
+ end
140
136
 
141
137
  decorate(event)
142
138
  event
143
139
  end
144
- end # def handle
140
+ end
145
141
 
146
- public
147
142
  def stop
148
143
  Stud.stop!(@run_thread)
149
144
  $stdin.close
@@ -159,4 +154,4 @@ class LogStash::Inputs::IMAP < LogStash::Inputs::Base
159
154
  s.encode(Encoding::UTF_8, :invalid => :replace, :undef => :replace)
160
155
  end
161
156
  end
162
- end # class LogStash::Inputs::IMAP
157
+ end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-imap'
4
- s.version = '2.0.2'
4
+ s.version = '2.0.3'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Read mail from IMAP servers"
7
7
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-imap
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-14 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
17
18
  - !ruby/object:Gem::Version
@@ -19,10 +20,7 @@ dependencies:
19
20
  - - <
20
21
  - !ruby/object:Gem::Version
21
22
  version: 3.0.0
22
- name: logstash-core
23
- prerelease: false
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,62 +28,64 @@ dependencies:
30
28
  - - <
31
29
  - !ruby/object:Gem::Version
32
30
  version: 3.0.0
31
+ prerelease: false
32
+ type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-codec-plain
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
34
40
  requirement: !ruby/object:Gem::Requirement
35
41
  requirements:
36
42
  - - '>='
37
43
  - !ruby/object:Gem::Version
38
44
  version: '0'
39
- name: logstash-codec-plain
40
45
  prerelease: false
41
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: mail
42
49
  version_requirements: !ruby/object:Gem::Requirement
43
50
  requirements:
44
51
  - - '>='
45
52
  - !ruby/object:Gem::Version
46
53
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
54
  requirement: !ruby/object:Gem::Requirement
49
55
  requirements:
50
56
  - - '>='
51
57
  - !ruby/object:Gem::Version
52
58
  version: '0'
53
- name: mail
54
59
  prerelease: false
55
60
  type: :runtime
61
+ - !ruby/object:Gem::Dependency
62
+ name: stud
56
63
  version_requirements: !ruby/object:Gem::Requirement
57
64
  requirements:
58
- - - '>='
65
+ - - ~>
59
66
  - !ruby/object:Gem::Version
60
- version: '0'
61
- - !ruby/object:Gem::Dependency
67
+ version: 0.0.22
62
68
  requirement: !ruby/object:Gem::Requirement
63
69
  requirements:
64
70
  - - ~>
65
71
  - !ruby/object:Gem::Version
66
72
  version: 0.0.22
67
- name: stud
68
73
  prerelease: false
69
74
  type: :runtime
75
+ - !ruby/object:Gem::Dependency
76
+ name: logstash-devutils
70
77
  version_requirements: !ruby/object:Gem::Requirement
71
78
  requirements:
72
- - - ~>
79
+ - - '>='
73
80
  - !ruby/object:Gem::Version
74
- version: 0.0.22
75
- - !ruby/object:Gem::Dependency
81
+ version: '0'
76
82
  requirement: !ruby/object:Gem::Requirement
77
83
  requirements:
78
84
  - - '>='
79
85
  - !ruby/object:Gem::Version
80
86
  version: '0'
81
- name: logstash-devutils
82
87
  prerelease: false
83
88
  type: :development
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
89
  description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
90
90
  email: info@elastic.co
91
91
  executables: []