fixed brotli, as both the transcoder wasn't loading, and the response wasn't properly decoding

This commit is contained in:
HoneyryderChuck 2018-01-13 23:19:20 +00:00
parent 665fd75ea8
commit 5e54fbab2b
2 changed files with 11 additions and 4 deletions

View File

@ -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

View File

@ -5,7 +5,7 @@ module HTTPX
module Compression
module GZIP
def self_load_dependencies(*)
def self.load_dependencies(*)
require "zlib"
end