Exception: NoMethodError: undefined method `include?' for nil - in lib/net/http.rb:2466
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 30/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- ruby
- 領域
- networking
調査の方向性
lib/net/http.rb:2466 の addr_port から開始し、stack trace に示されている Faraday/net_http の呼び出し経路を使って、begin_transport と request を通じてアドレスを追跡します。この経路のどこで nil が入るのかを特定し、意図された失敗時の動作を明確にします。nil のケースが一貫して処理され、回帰チェックでカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I'm getting:
Exception: NoMethodError: undefined method `include?' for nil
Here:
vendor/bundle/ruby/3.3.0/gems/net-http-0.4.1/lib/net/http.rb:2466:in `addr_port'
vendor/bundle/ruby/3.3.0/gems/net-http-0.4.1/lib/net/http.rb:2401:in `begin_transport'
vendor/bundle/ruby/3.3.0/gems/net-http-0.4.1/lib/net/http.rb:2332:in `transport_request'
vendor/bundle/ruby/3.3.0/gems/net-http-0.4.1/lib/net/http.rb:2306:in `request'
vendor/bundle/ruby/3.3.0/gems/airbrake-13.0.4/lib/airbrake/rails/net_http.rb:11:in `block in request'
vendor/bundle/ruby/3.3.0/gems/airbrake-13.0.4/lib/airbrake/rack.rb:21:in `capture_timing'
vendor/bundle/ruby/3.3.0/gems/airbrake-13.0.4/lib/airbrake/rails/net_http.rb:10:in `request'
vendor/bundle/ruby/3.3.0/gems/faraday-net_http-3.3.0/lib/faraday/adapter/net_http.rb:112:in `block in request_with_wrapped_block'
vendor/bundle/ruby/3.3.0/gems/net-http-0.4.1/lib/net/http.rb:1570:in `start'
vendor/bundle/ruby/3.3.0/gems/faraday-net_http-3.3.0/lib/faraday/adapter/net_http.rb:111:in `request_with_wrapped_block'
vendor/bundle/ruby/3.3.0/gems/faraday-net_http-3.3.0/lib/faraday/adapter/net_http.rb:101:in `perform_request'
vendor/bundle/ruby/3.3.0/gems/faraday-net_http-3.3.0/lib/faraday/adapter/net_http.rb:65:in `block in call'
vendor/bundle/ruby/3.3.0/gems/faraday-2.11.0/lib/faraday/adapter.rb:45:in `connection'
vendor/bundle/ruby/3.3.0/gems/faraday-net_http-3.3.0/lib/faraday/adapter/net_http.rb:64:in `call'
vendor/bundle/ruby/3.3.0/gems/faraday-2.11.0/lib/faraday/middleware.rb:56:in `call'
vendor/bundle/ruby/3.3.0/gems/faraday-2.11.0/lib/faraday/rack_builder.rb:152:in `build_response'
vendor/bundle/ruby/3.3.0/gems/faraday-2.11.0/lib/faraday/connection.rb:452:in `run_request'
vendor/bundle/ruby/3.3.0/gems/faraday-2.11.0/lib/faraday/connection.rb:200:in `get'
This is the code responsible:
def addr_port
addr = address
addr = "[#{addr}]" if addr.include?(":") # the .include? here
default_port = use_ssl? ? HTTP.https_default_port : HTTP.http_default_port
default_port == port ? addr : "#{addr}:#{port}"
end
It seems there should be some kind of validation earlier to avoid this?
- 主要言語
- Ruby
- スター
- 148
- フォーク
- 95
- 平均マージ
- 10時間 54分
- マージ済み PR(30日)
- 4
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ruby/net-http のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
riscv/riscv-unified-db#2626 ·
-
Component: GLib
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
ds-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
we-promise/sure#3693 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
simp/pupmod-simp-simp#395 ·