5

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にはありません。

何か案は?

ありがとう、

ジェレミー

4

2 に答える 2

11

X-ヘッダー、つまり X-HTTP-DEVICE-UDID としてそれを渡そうとしましたか? ほとんどのカスタムまたは非標準の HTTP ヘッダーは、X-ヘッダーとして渡されます。

于 2009-07-28T21:29:00.027 に答える
2

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

「X_」の代わりに「X-」を使用してみてください。たとえば、「X-Sendfile」は HTTP ヘッダーの名前ですが、これが Rack に渡されると「X_SENDFILE」になります。この最初の句読点の後、大文字にすることを除けば、残りのヘッダーは通常どおり渡されると思います。

Bamboo を使用しているため、リクエストは nginx を通過し、不正な形式であると思われるヘッダーを除外します。

乾杯、JD

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

于 2011-09-27T20:29:34.503 に答える