読者です 読者をやめる 読者になる 読者になる

AUのSOLAR PHONE SH002のAcceptヘッダはマジで困る

Rails

通常、httpのリクエストヘッダのAcceptは以下のような感じです。

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

text/htmlが最初にあるわな。
しかし、このSOLAR PHONE SH002のAcceptは以下のようになっています。

image/bci, application/x-kmcs-form-data, application/x-www-form-urlencoded, application/x-kddi-playlist, application/x-tar, application/vnd.KDDI-vpimlist, application/vnd.KDDI-setsynctime, application/vnd.KDDI-verror, application/vnd.syncml+wbxml, application/x-kddi-drm, text/x-vmessage, text/x-vcard, text/x-vcalendar, text/calendar, text/vcard, application/x-kddi-htmlmail, application/x-kddi-ezmusic, application/x-kddi-karrange, application/x-kcf-license, application/x-kddi-kcf, text/vnd.sun.j2me.app-descriptor, text/x-vnote, application/x-kddi-mcx, application/x-kddi-auc, application/x-kddi-video, application/widget, application/x-sharp-dictionary, text/xml, application/x-prl, application/x-kddi-hmusic, application/x-sharp-dictionary2, application/x-kddi-decoanime, application/octet-stream, application/vnd.phonecom.mmc-wbxml, application/vnd.phonecom.mmc-xml, application/vnd.wap.wmlc;type=4365, application/vnd.wap.xhtml+xml, application/xhtml+xml;profile="http://www.wapforum.org/xhtml", image/bmp, image/gif, image/jpeg, image/png, image/vnd.wap.wbmp, multipart/alternative, multipart/mixed, multipart/related, text/css, text/html, text/plain, text/vnd.wap.wml;type=4365, image/pjpeg, image/x-bmp, application/x-shockwave-flash, audio/vnd.qcelp, application/x-smaf, application/vnd.yamaha.hv-script, application/x-mpeg, video/3gpp2, audio/3gpp2, video/3gpp, audio/3gpp, video/mp4, application/x-up-download,text/x-hdml,*/*

何が困るかというと、text/xmlがtext/htmlよりも前にあります。
ということは、respond_toでxmlとhtmlをそれぞれリクエストごとに
表示するようなコードを組んだ場合、(つまり次のようなやつ)

respond_to do |format|
  format.html
  format.xml  { render :xml => @mails }
end

XMLを表示しようとします。
ちなみに、XMLを受け取れる携帯ではありません。
 
とりあえず、仕方ないからrespond_toごと削って逃げるしかないかも。