module NiceHttpUtils
Public Class Methods
basic_authentication(user:, password:, strict: false)
click to toggle source
returns the seed for Basic authentication @param user [String] @param password [String] @param strict [Boolean] (default: false) use strict_encode64 if true, if not encode64 @return [String] seed string to be used on Authorization key header on a get request
# File lib/nice_http/utils.rb, line 99 def self.basic_authentication(user:, password:, strict: false) require "base64" if strict seed = "Basic " + Base64.strict_encode64(user + ":" + password) else seed = "Basic " + Base64.encode64(user + ":" + password) end return seed end
get_value_xml_tag(tag_name, xml_string, take_off_prefix = false)
click to toggle source
get a value of xml tag @param tag_name [String] @param xml_string [String] @param take_off_prefix [Boolean] (optional). true, false(default) @return [String, Array] the value or an array of all values found with this tag_name
# File lib/nice_http/utils.rb, line 9 def self.get_value_xml_tag(tag_name, xml_string, take_off_prefix = false) return nil if xml_string.nil? xml_string2 = xml_string.dup() if take_off_prefix i = tag_name.index(":") if !i.nil? tag_name = tag_name[i + 1..tag_name.length] end end ret = Array.new() if xml_string2.to_s() != "" if take_off_prefix xml_string2.gsub!(/<[a-zA-Z0-9]+:#{tag_name} [^>]*>/i, "<" + tag_name + ">") xml_string2.gsub!(/<\/[a-zA-Z0-9]+:#{tag_name}>/i, "</" + tag_name + ">") xml_string2.gsub!(/<[a-zA-Z0-9]+:#{tag_name}>/i, "<" + tag_name + ">") end xml_string2.gsub!(/<#{tag_name} [^>]*>/i, "<" + tag_name + ">") tag1 = "<" + tag_name + ">" tag2 = "</" + tag_name + ">" x = xml_string2.index(tag1) if !x.nil? x += tag1.size begin y = xml_string2.index(tag2) if y.nil? ret.push("") x = nil else y -= 1 value = xml_string2[x..y] ret.push(value) xml_string2 = xml_string2[y + tag2.size..xml_string2.length] x = xml_string2.index(tag1) if !x.nil? x += tag1.size end end end while !x.nil? else ret.push("") end else ret.push("") end if ret.size == 1 return ret[0].to_s() else return ret end end
set_value_xml_tag(tag_name, xml_string, value, take_off_prefix = false)
click to toggle source
set a value on xml tag @param tag_name [String] @param xml_string [String] @param value [String] @param take_off_prefix [Boolean] (optional). true, false(default) @return [String] with the new value
# File lib/nice_http/utils.rb, line 72 def self.set_value_xml_tag(tag_name, xml_string, value, take_off_prefix = false) tag_name = tag_name.to_s if take_off_prefix i = tag_name.index(":") tag_name = tag_name[i + 1..tag_name.length] unless i.nil? end if xml_string.to_s != "" if take_off_prefix old_value = NiceHttpUtils.get_value_xml_tag(tag_name, xml_string.dup, true) xml_string.gsub!(/:#{tag_name}>#{Regexp.escape(old_value)}<\//i, ":" + tag_name + ">" + value + "</") xml_string.gsub!(/<#{tag_name}>#{Regexp.escape(old_value)}<\//i, "<" + tag_name + ">" + value + "</") else xml_string.gsub!(/<#{tag_name}>.*<\/#{tag_name}>/i, "<" + tag_name + ">" + value + "</" + tag_name + ">") end return xml_string else return "" end end