6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/jerakia/response/filter/encryption.rb', line 6
def filter_encryption(_opts = {})
Jerakia.log.debug("Encryption filter started")
provider = Jerakia::Encryption.handler
unless provider.loaded?
raise Jerakia::Error, 'Cannot load encryption output filter, no encryption provider configured'
end
unless provider.respond_to?('signiture')
raise Jerakia::Error, 'Encryption provider did not provide a signiture method, cannot run output filter'
end
signiture = provider.signiture
raise Jerakia::Error, "Encryption provider signiture is not a Regexp" unless signiture.is_a?(Regexp)
parse_values do |val|
if val =~ signiture
decrypted = provider.decrypt(val)
val.clear.insert(0, decrypted)
end
val
end
end
|