From 5e54fbab2bb0315b13a969b7a86ffb96d2e7a8ef Mon Sep 17 00:00:00 2001 From: HoneyryderChuck Date: Sat, 13 Jan 2018 23:19:20 +0000 Subject: [PATCH] fixed brotli, as both the transcoder wasn't loading, and the response wasn't properly decoding --- lib/httpx/plugins/compression/brotli.rb | 13 ++++++++++--- lib/httpx/plugins/compression/gzip.rb | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/httpx/plugins/compression/brotli.rb b/lib/httpx/plugins/compression/brotli.rb index 9327b662..127508d3 100644 --- a/lib/httpx/plugins/compression/brotli.rb +++ b/lib/httpx/plugins/compression/brotli.rb @@ -5,7 +5,7 @@ module HTTPX module Compression module Brotli - def self_load_dependencies(klass, *) + def self.load_dependencies(klass, *) klass.plugin(:compression) require "brotli" end @@ -14,15 +14,22 @@ module HTTPX Transcoder.register "br", BrotliTranscoder end + module ResponseBodyMethods + def write(chunk) + chunk = decompress(chunk) + super(chunk) + end + end + module BrotliTranscoder module_function def encode(payload) - Brotli.encode(payload) + ::Brotli.deflate(payload) end def decode(io) - Brotli.decode(io) + ::Brotli.inflate(io) end end diff --git a/lib/httpx/plugins/compression/gzip.rb b/lib/httpx/plugins/compression/gzip.rb index e69f6a6e..546a45d8 100644 --- a/lib/httpx/plugins/compression/gzip.rb +++ b/lib/httpx/plugins/compression/gzip.rb @@ -5,7 +5,7 @@ module HTTPX module Compression module GZIP - def self_load_dependencies(*) + def self.load_dependencies(*) require "zlib" end