diff options
| author | Zack Hobson | 2013-12-26 11:57:57 -0800 | 
|---|---|---|
| committer | Zack Hobson | 2013-12-26 11:57:57 -0800 | 
| commit | 31dab9e4e892fa3f12e3659cd4b8fa42b52c999d (patch) | |
| tree | 73864167ee88c785ad8b3e891e833cd7230a88a5 /lib | |
| parent | edce556e090c2ef2d6459d88d724ce4a05ce8725 (diff) | |
| download | hcl-31dab9e4e892fa3f12e3659cd4b8fa42b52c999d.tar.bz2 | |
use yajl, test html unescape
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/hcl/harvest_middleware.rb | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/lib/hcl/harvest_middleware.rb b/lib/hcl/harvest_middleware.rb index db9d50f..3e96a99 100644 --- a/lib/hcl/harvest_middleware.rb +++ b/lib/hcl/harvest_middleware.rb @@ -1,5 +1,5 @@  require 'faraday_middleware/response_middleware' -require 'multi_json' +require 'yajl'  require 'escape_utils'  class HCl::HarvestMiddleware < FaradayMiddleware::ResponseMiddleware @@ -18,8 +18,8 @@ class HCl::HarvestMiddleware < FaradayMiddleware::ResponseMiddleware        case env[:status]        when 200..299          begin  -          env[:body] = unescape(MultiJson.load(env[:body], symbolize_keys:true)) -        rescue MultiJson::LoadError +          env[:body] = deep_html_unescape(Yajl::Parser.parse(env[:body], symbolize_keys:true)) +        rescue Yajl::ParseError            env[:body]          end        when 300..399 @@ -34,11 +34,11 @@ class HCl::HarvestMiddleware < FaradayMiddleware::ResponseMiddleware      end    end -  def unescape obj +  def deep_html_unescape obj      if obj.kind_of? Hash -      obj.inject({}){|o,(k,v)| o[k] = unescape(v);o} +      obj.inject({}){|o,(k,v)| o.update(k => deep_html_unescape(v)) }      elsif obj.kind_of? Array -      obj.inject([]){|o,v| o << unescape(v);o} +      obj.inject([]){|o,v| o << deep_html_unescape(v) }      else        EscapeUtils.unescape_html(obj.to_s)      end | 
