質問

Heroku(Heroku.com)を使用してRailsアプリケーションを展開しており、IPhoneクライアントを構築してインターフェイスしています。私の意図は、認証のためのHTTPヘッダーとして、電話の一意のデバイス識別子をアプリに渡すことでした。ローカルでテストすると、ヘッダーは順調に進みますが、Herokuではカスタムヘッダーを取り除くようです。 Rubyスクリプトで確認しました:

url = URI.parse('http://#{myapp}.heroku.com/')
#url = URI.parse('http://localhost:3000/')
req = Net::HTTP::Post.new(url.path)
#bogus params
req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'}, ';')
#device header
req['HTTP_DEVICE_UDID'] = "XXXXXX"
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }

私のローカルサーバーに対して、ヘッダーはそこにありますが、Herokuではそうではありません。

何か案は?

ありがとう、

ジェレミー

役に立ちましたか?

解決

X-ヘッダー、すなわちX-HTTP-Device-adidとしてそれを渡してみましたか?ほとんどのカスタムまたは非標準のHTTPヘッダーは、X-ヘッダーとして渡されます。

他のヒント

私はこれについてHerokuのサポートに投稿し、最終的に既存の答えが何を意味するかを理解しました。

「x_」ではなく「x-」を使用してみてください。たとえば、「x-sendfile」はHTTPヘッダーの名前ですが、これがラックに渡されると、これは「x_sendfile」になります。この最初の句読点の後、私は、ヘッダーの残りの部分は、資本化されることは別として、正常に渡されると思います。

竹を使用しているため、リクエストはNginxを通過します。これにより、ヘッダーが奇形であると考えられます。

乾杯、JD

これは、これを探している私のような他の初心者に役立つと思いました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top