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 |
