Padrino Commit Sep 11, 2013

ujifgc Merge pull request #1406 from namusyaka/fix-incorrect-params Fix incorrect params when path includes encoded slash.

#1406のマージコミットです。

namusyaka Fix incorrect params when path includes encoded slash, fixes #1391. Add test case for incorrect params.

ルーティングにおけるパスの解釈が修正されました。

get '/:drive_alias/:path', path: /.*/ do
  "Show #{params[:drive_alias]} and #{params[:path]}"
end

このようなルーティングが定義されていて

$ curl localhost:3000/drive%2Ffoo/some/path

URLエンコードされたスラッシュが含まれたパスでアクセスされた場合、
これまではURLエンコードされたスラッシュもパスの区切りとして解釈されていました。

Show drive and foo/some/path

このコミットによってURLエンコードされたスラッシュはパスとは区別されて解釈されるようになりました。

Show drive/foo and some/path