Sha256: 5f26b4edcd3aad2efa2dc28974dabe8d76eb47abb1aca4b373f24f5c6114b2c9
Contents?: true
Size: 780 Bytes
Versions: 5
Compression:
Stored size: 780 Bytes
Contents
require 'faraday' require 'zlib' module Google class APIClient class Charset < Faraday::Middleware include Google::APIClient::Logging def charset_for_content_type(type) if type m = type.match(/(?:charset|encoding)="?([a-z0-9-]+)"?/i) if m return Encoding.find(m[1]) end end nil end def adjust_encoding(env) charset = charset_for_content_type(env[:response_headers]['content-type']) if charset && env[:body].encoding != charset env[:body].force_encoding(charset) end end def on_complete(env) adjust_encoding(env) end end end end Faraday::Response.register_middleware :charset => Google::APIClient::Charset
Version data entries
5 entries across 5 versions & 1 rubygems