Sha256: 13a2c10762cd1e0b4b3573d95fc71f8ac46a7a9213ec36bb42d3066f2c9ea873
Contents?: true
Size: 556 Bytes
Versions: 10
Compression:
Stored size: 556 Bytes
Contents
require 'oj' module FaradayMiddleware class ParseOj < Faraday::Middleware def on_complete(env) if empty_body?(env[:body].strip) env[:body] = nil elsif html_body?(env[:body]) env[:body] = env[:body] else env[:body] = Oj.load(env[:body], mode: :compat) end end private def html_body?(body) /(<!DOCTYPE html>)|(<html>)/ =~ body end def empty_body?(body) body.empty? && body == '' end end end Faraday::Response.register_middleware(oj: FaradayMiddleware::ParseOj)
Version data entries
10 entries across 10 versions & 1 rubygems