Class: Faraday::UrlSizeLimit::Middleware

Inherits:
Middleware
  • Object
show all
Defined in:
lib/faraday/url_size_limit/middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, max_size_bytes:) ⇒ Middleware

Returns a new instance of Middleware.



8
9
10
11
12
# File 'lib/faraday/url_size_limit/middleware.rb', line 8

def initialize(app, max_size_bytes:)
  super(app)

  @max_size_bytes = max_size_bytes
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/faraday/url_size_limit/middleware.rb', line 14

def call(env)
  url_bytesize = env.url.to_s.bytesize

  if url_bytesize >= @max_size_bytes
    raise LimitExceededError,
          "Expected URL below #{@max_size_bytes} bytes, "\
          "was #{url_bytesize} bytes"
  end

  @app.call(env)
end