Problem:
Calling redirect_to "itms-services:\/\/\/\/?action=download-manifest&url=#{some_url}"
does not behave as expected.
It sets the location header to itms-services:?action=download-manifest&url=#{some_url} it should be itms-services://?action=download-manifest&url=#{some_url}
Notice the forward slashes are missing from the location header value.
Solution (a dirty, dirty hack); use four backslashes:
redirect_to "itms-services:\/\/\/\/?action=download-manifest&url=#{some_url}"
I ended up doing
redirect_to "itms-services:\/\/myAppName?action=download-manifest&url=#{some_url}"
instead. I think web brick gets pissed because it does not see a hostname between the protocol and query string. Adding one made it happy.