Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Exception: NoMethodError: undefined method `include?' for nil - in lib/net/http.rb:2466

オープン
#184 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ruby/net-http のほかの issue

ruby/net-http の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。