- カテゴリ
- Ruby
もう少し正規化したい
URI.HTTPについているnormalizeだけど、標準の機能だと以下の2つしかやらない。- 最後のスラッシュ追加 > http://Example.COM → http://Example.COM/
- ドメイン名の小文字化 > http://Example.COM/ → http://example.com/
これに加えて、?と#の正規化を行った。
queryが無い時は?を削除し、fragmentも同様に存在しない時は#を削除する。
- http://Example.COM/target?# → http://example.com/target
コード
require 'uri'
module URI
class HTTP
def normalize_with_additional!
normalize_without_additional!
if @query && @query.length==0
set_query(nil)
end
if @fragment && @fragment.length==0
set_fragment(nil)
end
end
alias normalize_without_additional! normalize!
alias normalize! normalize_with_additional!
end
end
- タグ :
- #URI
- #HTTP
- #normalize
[フレーム]
コメントする