[フレーム]

やむにやまれず

2006年創業の会社を経営する元プログラマ。現在従業員12名(内7名が欧米人)で元気にお仕事中。今はもうコードは書いてないので、いつか復帰したい。@sparklegate

もう少し正規化したい

URI.HTTPについているnormalizeだけど、標準の機能だと以下の2つしかやらない。
  1. 最後のスラッシュ追加 > http://Example.COM → http://Example.COM/
  2. ドメイン名の小文字化 > 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

コメントする

名前
最新記事
人気記事
QRコード
traq

AltStyle によって変換されたページ (->オリジナル) /