Sha256: f2da101634141d3ab7167708fdc95305581caf2f2ca8ab829b78090e22869237
Contents?: true
Size: 555 Bytes
Versions: 6
Compression:
Stored size: 555 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) body.start_with?('<!DOCTYPE html>') end def empty_body?(body) body.empty? && body == '' end end end Faraday::Response.register_middleware(oj: FaradayMiddleware::ParseOj)
Version data entries
6 entries across 6 versions & 1 rubygems