Class: Datastar::Compressor::Brotli

Inherits:
Object
  • Object
show all
Defined in:
lib/datastar/compressor/brotli.rb

Overview

Brotli compressor — built once at config time, reused across requests. Eagerly requires the brotli gem; raises LoadError at boot if missing.

Defined Under Namespace

Classes: CompressedSocket

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Brotli

Returns a new instance of Brotli.



12
13
14
15
16
# File 'lib/datastar/compressor/brotli.rb', line 12

def initialize(options)
  @options = options.freeze
  @encoding = :br
  freeze
end

Instance Attribute Details

#encodingObject (readonly)

Returns the value of attribute encoding.



10
11
12
# File 'lib/datastar/compressor/brotli.rb', line 10

def encoding
  @encoding
end

Instance Method Details

#prepare_response(response) ⇒ Object



18
19
20
21
# File 'lib/datastar/compressor/brotli.rb', line 18

def prepare_response(response)
  response.headers['Content-Encoding'] = 'br'
  response.headers['Vary'] = 'Accept-Encoding'
end

#wrap_socket(socket) ⇒ Object



23
24
25
# File 'lib/datastar/compressor/brotli.rb', line 23

def wrap_socket(socket)
  CompressedSocket.new(socket, @options)
end