Sha256: 4243915ea1b771e5d153a33508d775541922c1d2f01a3f95f0071d56e0399ffd
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Akita module HarLogger class HarUtils # Rack apparently uses 8-bit ASCII for everything, even when the string # is not 8-bit ASCII. This reinterprets 8-bit ASCII strings as UTF-8. def self.fixEncoding(v) if v == nil || v.encoding != Encoding::ASCII_8BIT then v else String.new(v).force_encoding(Encoding::UTF_8) end end # Converts a Hash into a list of Hash objects. Each entry in the given # Hash will be represented in the output by a Hash object that maps # 'name' to the entry's key and 'value' to the entry's value. def self.hashToList(hash) hash.reduce([]) { |accum, (k, v)| accum.append({ name: fixEncoding(k), value: fixEncoding(v), }) } end # Determines whether all values in a Hash are strings. def self.allValuesAreStrings(hash) hash.each do |_, value| if !(value.is_a? String) then return false end end return true end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
akita-har_logger-0.2.4 | lib/akita/har_logger/har_utils.rb |