Class: ClickHouse::Middleware::ResponseBase

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/click_house/middleware/response_base.rb

Direct Known Subclasses

ParseCsv, ParseJson, ParseJsonOj, SummaryMiddleware

Constant Summary collapse

CONTENT_TYPE_HEADER =
'content-type'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app = nil, options: {}, content_type: nil, preserve_raw: false) ⇒ ResponseBase

Returns a new instance of ResponseBase.



11
12
13
14
15
16
17
# File 'lib/click_house/middleware/response_base.rb', line 11

def initialize(app = nil, options: {}, content_type: nil, preserve_raw: false)
  super(app)
  @options = options
  @content_type = content_type
  @preserve_raw = preserve_raw
  on_setup
end

Instance Attribute Details

#content_typeObject (readonly)

Returns the value of attribute content_type.



9
10
11
# File 'lib/click_house/middleware/response_base.rb', line 9

def content_type
  @content_type
end

#optionsObject (readonly)

Returns the value of attribute options.



8
9
10
# File 'lib/click_house/middleware/response_base.rb', line 8

def options
  @options
end

Instance Method Details

#configConfig

Returns:



34
35
36
# File 'lib/click_house/middleware/response_base.rb', line 34

def config
  options.fetch(:config)
end

#content_type?(env, regexp) ⇒ Boolean

Parameters:

  • env (Faraday::Env)
  • regexp (NilClass, Regexp)

Returns:

  • (Boolean)


22
23
24
25
26
27
28
29
30
31
# File 'lib/click_house/middleware/response_base.rb', line 22

def content_type?(env, regexp)
  case regexp
  when NilClass
    false
  when Regexp
    regexp.match?(String(env[:response_headers][CONTENT_TYPE_HEADER]))
  else
    raise ArgumentError, "expected regexp got #{regexp.class}"
  end
end