fluent-plugin-heroku-syslog-http 0.2.0 → 0.2.1
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 +5 -5
- data/Gemfile +1 -1
- data/{fluent-plugin-heroku-syslog.gemspec → fluent-plugin-heroku-syslog-http.gemspec} +1 -1
- data/lib/fluent/plugin/in_heroku_syslog_http.rb +12 -1
- data/lib/fluent/plugin/parser_heroku_syslog_http.rb +1 -1
- data/test/plugin/test_in_heroku_syslog_http.rb +8 -8
- data/test/plugin/test_parser_heroku_syslog_http.rb +4 -4
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 532357c0144bd00b49441c441a413a1418857f42
         | 
| 4 | 
            +
              data.tar.gz: 7d0804f14d7d041736c35d986f8c0db2fd6e34a8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fad8aed05a98d60e1e684ea0b9b3e99cdefcd296003a536d910ef0597fe77839b2c01f3fa3a0cfff2322209f6b5143b3d1ca3cde172ffd297d9c06440a1f6e62
         | 
| 7 | 
            +
              data.tar.gz: 73df938e9c8a26fc7f53601631d633f5c4e852caf8973dd763f42f9f40b28a92e0c8d6fa173b834c8d561ff064672064903b0f32c027372042ada494fb50ded0
         | 
    
        data/Gemfile
    CHANGED
    
    
| @@ -18,8 +18,18 @@ module Fluent | |
| 18 18 | 
             
                    content = params[EVENT_RECORD_PARAMETER]
         | 
| 19 19 | 
             
                    raise "'#{EVENT_RECORD_PARAMETER}' parameter is required" unless content
         | 
| 20 20 |  | 
| 21 | 
            +
                    messages = []
         | 
| 22 | 
            +
                    while payload = content.match(/^([0-9]+) (.*)$/) do
         | 
| 23 | 
            +
                      length = payload[1].to_i
         | 
| 24 | 
            +
                      raise "Invalid message length specified: #{length}" unless payload[2].size >= length
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                      messages << payload[2][0...length]
         | 
| 27 | 
            +
                      content = payload[2][length..-1] || ''
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                    content << content
         | 
| 30 | 
            +
                    raise "#{content.size} bytes left in payload" unless content.size == 0
         | 
| 31 | 
            +
             | 
| 21 32 | 
             
                    records = []
         | 
| 22 | 
            -
                    messages = content.split("\n")
         | 
| 23 33 | 
             
                    messages.each do |msg|
         | 
| 24 34 | 
             
                      @parser.parse(msg) do |time, record|
         | 
| 25 35 | 
             
                        raise "Could not parse event: #{content}" if record.nil?
         | 
| @@ -34,6 +44,7 @@ module Fluent | |
| 34 44 | 
             
                        records << record
         | 
| 35 45 | 
             
                      end
         | 
| 36 46 | 
             
                    end
         | 
| 47 | 
            +
             | 
| 37 48 | 
             
                    [nil, records]
         | 
| 38 49 | 
             
                  end
         | 
| 39 50 | 
             
                end
         | 
| @@ -8,7 +8,7 @@ module Fluent | |
| 8 8 | 
             
                class HerokuSyslogHttpParser < RegexpParser
         | 
| 9 9 | 
             
                  Fluent::Plugin.register_parser('heroku_syslog_http', self)
         | 
| 10 10 |  | 
| 11 | 
            -
                  SYSLOG_HTTP_REGEXP = %r{ | 
| 11 | 
            +
                  SYSLOG_HTTP_REGEXP = %r{^\<(?<syslog.pri>[0-9]+)\>([0-9]+) (?<syslog.timestamp>[^ ]+) (?<syslog.hostname>[^ ]+) (?<syslog.appname>[^ ]+) (?<syslog.procid>[^ ]+) - *(?<message>.*)$}
         | 
| 12 12 |  | 
| 13 13 | 
             
                  FACILITY_MAP = {
         | 
| 14 14 | 
             
                    0   => 'kern',
         | 
| @@ -67,8 +67,8 @@ class HerokuSyslogHttpInputTest < Test::Unit::TestCase | |
| 67 67 |  | 
| 68 68 | 
             
              def test_msg_size
         | 
| 69 69 | 
             
                messages = [
         | 
| 70 | 
            -
                  ' | 
| 71 | 
            -
                  ' | 
| 70 | 
            +
                  '156 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - ' + 'x' * 100,
         | 
| 71 | 
            +
                  '1080 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - ' + 'x' * 1024
         | 
| 72 72 | 
             
                ]
         | 
| 73 73 |  | 
| 74 74 | 
             
                d = create_driver
         | 
| @@ -83,8 +83,8 @@ class HerokuSyslogHttpInputTest < Test::Unit::TestCase | |
| 83 83 |  | 
| 84 84 | 
             
              def test_accept_matched_drain_id_multiple
         | 
| 85 85 | 
             
                messages = [
         | 
| 86 | 
            -
                  ' | 
| 87 | 
            -
                  ' | 
| 86 | 
            +
                  '59 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - foo',
         | 
| 87 | 
            +
                  '59 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - bar'
         | 
| 88 88 | 
             
                ]
         | 
| 89 89 | 
             
                d = create_driver(CONFIG + %(
         | 
| 90 90 | 
             
                  drain_ids ["abc", "d.fc6b856b-3332-4546-93de-7d0ee272c3bd"]
         | 
| @@ -99,8 +99,8 @@ class HerokuSyslogHttpInputTest < Test::Unit::TestCase | |
| 99 99 |  | 
| 100 100 | 
             
              def test_ignore_unmatched_drain_id
         | 
| 101 101 | 
             
                messages = [
         | 
| 102 | 
            -
                  ' | 
| 103 | 
            -
                  ' | 
| 102 | 
            +
                  '59 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - foo',
         | 
| 103 | 
            +
                  '59 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - bar'
         | 
| 104 104 | 
             
                ]
         | 
| 105 105 | 
             
                d = create_driver(CONFIG + %(
         | 
| 106 106 | 
             
                  drain_ids ["abc"]
         | 
| @@ -115,7 +115,7 @@ class HerokuSyslogHttpInputTest < Test::Unit::TestCase | |
| 115 115 |  | 
| 116 116 | 
             
              def test_logplex_metas
         | 
| 117 117 | 
             
                messages = [
         | 
| 118 | 
            -
                  ' | 
| 118 | 
            +
                  '156 <13>1 2014-01-01T01:23:45.123456+00:00 host app web.1 - ' + 'x' * 100
         | 
| 119 119 | 
             
                ]
         | 
| 120 120 | 
             
                d = create_driver
         | 
| 121 121 | 
             
                d.run(expect_records: 1, timeout: 5) do
         | 
| @@ -138,7 +138,7 @@ class HerokuSyslogHttpInputTest < Test::Unit::TestCase | |
| 138 138 | 
             
                  'User-Agent' => 'Logplex/v49'
         | 
| 139 139 | 
             
                }
         | 
| 140 140 | 
             
                req = Net::HTTP::Post.new('/heroku', headers)
         | 
| 141 | 
            -
                req.body = messages.join( | 
| 141 | 
            +
                req.body = messages.join('')
         | 
| 142 142 | 
             
                http.request(req)
         | 
| 143 143 | 
             
              end
         | 
| 144 144 | 
             
            end
         | 
| @@ -30,7 +30,7 @@ class HerokuSyslogHttpParseTest < Test::Unit::TestCase | |
| 30 30 | 
             
              end
         | 
| 31 31 |  | 
| 32 32 | 
             
              def test_parsing_with_default_conf
         | 
| 33 | 
            -
                text = ' | 
| 33 | 
            +
                text = '<13>1 2014-01-29T06:25:52.589365+00:00 host app web.1 - foo'
         | 
| 34 34 | 
             
                expected_time = Time.strptime('2014-01-29T07:25:52+01:00', '%Y-%m-%dT%H:%M:%S%z').to_i
         | 
| 35 35 | 
             
                event = {
         | 
| 36 36 | 
             
                  'syslog.pri' => '13',
         | 
| @@ -52,15 +52,15 @@ class HerokuSyslogHttpParseTest < Test::Unit::TestCase | |
| 52 52 | 
             
              def test_parsing_pri_conf
         | 
| 53 53 | 
             
                d = create_driver
         | 
| 54 54 |  | 
| 55 | 
            -
                d.instance.parse(' | 
| 55 | 
            +
                d.instance.parse('<13>1 2014-01-29T06:25:52.589365+00:00 host app web.1 - foo') do |_, record|
         | 
| 56 56 | 
             
                  assert_equal 'notice', record['syslog.severity']
         | 
| 57 57 | 
             
                  assert_equal 'user', record['syslog.facility']
         | 
| 58 58 | 
             
                end
         | 
| 59 | 
            -
                d.instance.parse(' | 
| 59 | 
            +
                d.instance.parse('<42>1 2014-01-29T06:25:52.589365+00:00 host app web.1 - foo') do |_, record|
         | 
| 60 60 | 
             
                  assert_equal 'crit', record['syslog.severity']
         | 
| 61 61 | 
             
                  assert_equal 'syslog', record['syslog.facility']
         | 
| 62 62 | 
             
                end
         | 
| 63 | 
            -
                d.instance.parse(' | 
| 63 | 
            +
                d.instance.parse('<27>1 2014-01-29T06:25:52.589365+00:00 host app web.1 - foo') do |_, record|
         | 
| 64 64 | 
             
                  assert_equal 'err', record['syslog.severity']
         | 
| 65 65 | 
             
                  assert_equal 'daemon', record['syslog.facility']
         | 
| 66 66 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fluent-plugin-heroku-syslog-http
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Drivy
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2019-08-07 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: fluentd
         | 
| @@ -67,7 +67,7 @@ files: | |
| 67 67 | 
             
            - LICENSE.txt
         | 
| 68 68 | 
             
            - README.md
         | 
| 69 69 | 
             
            - Rakefile
         | 
| 70 | 
            -
            - fluent-plugin-heroku-syslog.gemspec
         | 
| 70 | 
            +
            - fluent-plugin-heroku-syslog-http.gemspec
         | 
| 71 71 | 
             
            - lib/fluent/plugin/in_heroku_syslog_http.rb
         | 
| 72 72 | 
             
            - lib/fluent/plugin/parser_heroku_syslog_http.rb
         | 
| 73 73 | 
             
            - test/helper.rb
         | 
| @@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 93 93 | 
             
                  version: '0'
         | 
| 94 94 | 
             
            requirements: []
         | 
| 95 95 | 
             
            rubyforge_project: 
         | 
| 96 | 
            -
            rubygems_version: 2. | 
| 96 | 
            +
            rubygems_version: 2.5.2.3
         | 
| 97 97 | 
             
            signing_key: 
         | 
| 98 98 | 
             
            specification_version: 4
         | 
| 99 99 | 
             
            summary: fluent plugin to drain heroku syslog
         |