logstash-input-imap 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: []