Sha256: 3855cd47ff3d1c5e5cdb3e6fd6ba6c473d71024c42736be2f24797cdb0d3c1ae
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
# encoding: utf-8 require "base64" require "logstash/filters/base" require "logstash/namespace" class LogStash::Filters::Base64 < LogStash::Filters::Base config_name "base64" # The type of base64 transformation config :action, :validate => ["decode", "encode"], :default => "decode" # The field to encode/decode in-place config :field, :validate => :string, :default => "message" # Append values to the `tags` field on failure config :tag_on_failure, :validate => :array, :default => ["_base64failure"] private def filter_failed(event, tags) tags.each {|tag| event.tag(tag)} end public def register end public def filter(event) value = event.get(@field) if !(value.is_a? String) return filter_failed(event, @tag_on_failure) end begin case @action when "encode" event.set(@field, Base64.strict_encode64(value)) when "decode" event.set(@field, Base64.strict_decode64(value)) end rescue ArgumentError, TypeError return filter_failed(event, @tag_on_failure) end filter_matched(event) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
logstash-filter-base64-1.0.5 | lib/logstash/filters/base64.rb |
logstash-filter-base64-1.0.4 | lib/logstash/filters/base64.rb |
logstash-filter-base64-1.0.3 | lib/logstash/filters/base64.rb |