This class is necessary for 'xmlrpc4r' to determine that a string should be transmitted base64-encoded and not as a raw-string.
You can use XMLRPC::Base64 on the client and server-side as a parameter and/or return-value.
Decodes string str with base64 and returns that value.
# File xmlrpc/base64.rb, line 44
def Base64.decode(str)
str.gsub(/\s+/, "").unpack("m")[0]
end
Encodes string str with base64 and returns that value.
# File xmlrpc/base64.rb, line 49
def Base64.encode(str)
[str].pack("m")
end
Creates a new XMLRPC::Base64 instance with string
str as the internal string. When state is
:dec it assumes that the string str is not in
base64 format (perhaps already decoded), otherwise if state is
:enc it decodes str and stores it as the internal
string.
# File xmlrpc/base64.rb, line 21
def initialize(str, state = :dec)
case state
when :enc
@str = Base64.decode(str)
when :dec
@str = str
else
raise ArgumentError, "wrong argument; either :enc or :dec"
end
end