🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Opera + respond_to + ROR

#1262
From: Jarosław Zabiełło
Date: Tue, 02 Jun 2009 18:57
48 lines
2712 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.


-- 
Jarosław Zabiełło
http://blog.zabiello.com
Technical Details
Message-ID: <op.uuwuxbv4k434cn@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 19:57:01 +0100
Organization: http://zabiełło.pl
Lines: 49
Message-ID: <op.uuwuxbv4k434cn@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 1243969025 6563 92.251.214.233 (2 Jun 2009 18:57:05 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 2 Jun 2009 18:57:05 +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