🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #1265

Re: Opera + respond_to + ROR

#1265
From: Jarosław Zabiełło
Date: Tue, 02 Jun 2009 19:09
50 lines
2815 bytes
Dnia 02-06-2009 o 19:07:55 Zbyszek Malec <zbyszekto@tlen.pl> napisał(a):
 
ROR 2.2.2
JRuby 1.1.4
RESTFulAuthentication
 
w RESTFulAuthentication jest metoda:
 
    def access_denied
      respond_to do |format|
        format.html do
          store_location
          redirect_to new_<%= controller_singular_name %>_path
        end
        format.any do
          request_http_basic_authentication 'Web Password'
        end
      end
    end
 
czyli jak przeglądarka wysłała, że reaguje na html, to powinno nastąpić
przekierowanie, w przeciwnym przypadku, powinno odbyć się HTTP Basic Auth.
Opera wysyła taki HTTP_ACCEPT:
 
application/xhtml+voice+xml;version=1.2,
application/x-xhtml+voice+xml;version=1.2, text/html,
application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg,
image/gif, image/x-xbitmap, */*;q=0.1
 
czyli text/html jest obecne jako pierwsze,
 
Niekoniecznie. Zobacz co się kryje pod zmienną format. Sprawdź czy zadziała ci dla format.xml. Założe się, że to RoR rozpoznaje jako XML, a nie HTML. W RoR 2.2 w pliku ...gems/actionpack-2.2.2/lib/action_controller/mime_types.rb masz wszystkie deficje MIME jakie są rozpoznawane przez ActionPack. I tam nie ma żadnego application/xhtml+voice+xml.
 
Mime::Type.register "*/*", :all
..
Mime::Type.register "text/html", :html, %w( application/xhtml+xml ), %w( xhtml )
...
Mime::Type.register "application/xml", :xml, %w( text/xml application/x-xml )
 
Jeśli tu jest problem to rozwiązana są dwa. Albo obsługujesz to przez format.xml zamiast format.html albo (lepiej) dodaj do Mime::Type.register "operowy" MIME.
 
Sprawa jest w sumie śliska, bo XHTML to aplikacja XML tak naprawdę. Czyli poprawne jest parsowanie XHTML jako HTML jak i jako XML.
 
 
Acha, znalazłem info na http://www.iana.org/assignments/media-types/application/, że xhtml-voice+xml to format przestarzały i nieaktualny.

--
Jarosław Zabiełło
http://blog.zabiello.com
 
Technical Details
Message-ID: <op.uuwvhawdk434cn@zbiru-at-home-5.local>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <12a2gaz88lk5a.ruqo5f6ex5ff.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Jarosław Zabiełło <hipertr@gazeta.pl>
Newsgroups: pl.comp.lang.ruby
Subject: Re: Opera + respond_to + ROR
Date: Tue, 02 Jun 2009 20:09:00 +0100
Organization: http://zabiełło.pl
Lines: 50
Message-ID: <op.uuwvhawdk434cn@zbiru-at-home-5.local>
References: <12a2gaz88lk5a.ruqo5f6ex5ff.dlg@40tude.net>
NNTP-Posting-Host: 92.251.214.233
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1243969743 10413 92.251.214.233 (2 Jun 2009 19:09:03 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 2 Jun 2009 19:09:03 +0000 (UTC)
To: "Zbyszek Malec" <zbyszekto@tlen.pl>
X-User: hipertr
User-Agent: Opera Mail/10.00 (MacIntel)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit