モジュール: Mongo::Address::Validator Private
- 次のドキュメントに含まれます。
- Srv::Result 、 URI
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/address/validator.rb
Overview
このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。
インスタンス メソッドの概要を折りたたむ
-
次は、 validate_address_str です。 (address_str) = オブジェクト
private
ipv 4 /ipv 6 /hostname/socket パス形式のアドレス string を受け取り、その形式を検証します。
インスタンス メソッドの詳細
次は、 validate_address_str です。 (address_str) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ipv 4 /ipv 6 /hostname/socket パス形式のアドレス string を受け取り、その形式を検証します。
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/address/validator.rb', 行27 デフォルト validate_address_str!(address_str) ケース address_str 次の場合: /\A\[[\d:]+\](?::(\d+))?\z/ 任意ポートを使用した# IPv 6 場合 port_str = $1 validate_port_str!(port_str) end 次の場合: / \A\/ /, / $.sock\z / # UNIX ソケット パス # を指定すると、パスにエスケープがないことを検証する必要があります。 両方のスラッシュが存在する場合、解析は次のようになります では URI が で分割されていたため、すでに失敗しました。 # 奇妙な場所。 # この仕様では相対的なソケット パスも許可され、次が必要です: # ソケット パスは ".sock" で終わる。 すべてのパスを受け入れますが、特殊な大文字と小文字は .sock 相対パスが ホストとポートの大文字と小文字。 次の場合: /[\/\[\]]/ 任意ポートを持つホストポートポートやIPv 4アドレスではありません。 # IPv 6アドレスを で使用した可能性 ポート区切り文字が存在し、かつ のポートが欠落しているか、その前または後に余計なジャンクが含まれます。 発生 エラー::InvalidAddress, " 無効 な ホスト名: #{ address_str } 次の場合: /:.*:/m 発生 エラー::InvalidAddress, "複数のポート区切り文字は許可されていません: #{ address_str } " else 任意のポート番号を持つホストとポートまたはIPv 4アドレスを ホスト, ポート = address_str.分裂(':') 場合 ホスト.空の場合 発生 エラー::InvalidAddress, "ホストが空です: #{ address_str } " end validate_hostname!(ホスト) 場合 ポート & & ポート.空の場合 発生 エラー::InvalidAddress, "ポートが空です: #{ address_str } " end validate_port_str!(ポート) end end |