2014-11-13 16 views
5

İstek başlıklarını orijinal biçiminde Ruby using Ruby kullanarak almaya çalışıyorum, ancak henüz çözemedik. Request.env'den geri aldığım karma, istediğim şey değil. Bu karma, başlık tuşları upcased ve böylece gibi yerine tire sahiptir:İstek başlıklarını orijinal biçiminde Raftan nasıl alabilirim?

"CONTENT_TYPE" => "application/json; charset = utf-8"

İstediğim önce başlıkları ise

elimden ile başlayan başlıklarını arayan request.env aracılığıyla kolayca yeterli döngü HTTP_;

"content_type" => "charset = utf-8 uygulama/json": onlar benim aradığım, işlenmiş olsun ve onları bölün, her sözcüğü ve gsub'u büyük harflerle alt çizgilerini değiştirmek istiyorum.

"X-BT-RequestID"

Ben nasılsa önceden işlenmiş başlıklarda elde edebilmek gerektiğini hissediyorum: Bu gibi başlıklarla uğraşırken orijinal formatını bu şekilde tutmak için yanıltıcıdır olur.

Bir isteği sarmaya ve başka bir hizmete iletecek bir HTTP dinleyicisi yazıyorum ve başlıkları orijinal biçiminde korumak istiyorum. Başlıkların büyük/küçük harf duyarsız olduğunu biliyorum, ancak bunları orijinal biçiminde iletebilirsem, veritabanı kullanıcılarının bu başlıkları temel alan değerler için sorgulamasının ardından, büyük/küçük harf duyarlı sorunların oluşmasını bekleyebilirim.

Herhangi bir fikrin var mı?

+0

Bu sorunu çözmek için bir Rafa ara katman yazılımı yazabilir misiniz? Herhangi bir ön işlemden önce istek verilerini kullanmanın en kolay yolu bu olurdu. – etagwerker

cevap

0

Sen WEBrick :: HTTPRequest ait raw_header örneği değişken webrick/httpserver.rb ham başlıklarını alabilirsiniz:

p req.instance_variable_get("@raw_header") 
si.service(req, res) 

Ayrıca işleyici/webrick.rb içinde service method içinden alabilirsiniz.

İlgili konular