2010-07-22 10 views
8

Desidero che Rack supporti un file specifico con un tipo di contenuto specifico. È un file .htc e deve essere servito come testo/componente x in modo che IE lo riconosca. In Apache vorrei solo fareCome impostare un tipo di contenuto per un file specifico con Rack?

AddType text/x-component .htc 

Come posso ottenere questo con Rack? Attualmente il file è servito da Rack :: Static, ma non ho trovato un'opzione per impostare il tipo di contenuto.

risposta

13

È possibile aggiornare il config/initializers/mime_types.rb in questo modo:

# Be sure to restart your server when you modify this file. 

# Add new mime types for use in respond_to blocks: 
# Mime::Type.register "text/richtext", :rtf 
# Mime::Type.register_alias "text/html", :iphone 

Rack::Mime::MIME_TYPES.merge!({ 
    ".ogg"  => "application/ogg", 
    ".ogx"  => "application/ogg", 
    ".ogv"  => "video/ogg", 
    ".oga"  => "audio/ogg", 
    ".mp4"  => "video/mp4", 
    ".m4v"  => "video/mp4", 
    ".mp3"  => "audio/mpeg", 
    ".m4a"  => "audio/mpeg", 
    ".htc"  => "text/x-component" 
}) 
+0

Che ha fatto il trucco, grazie! Non avevo mime_types.rb, quindi l'ho inserito direttamente nel file config.ru. –

+0

scusate, certo che non ne avete avuto uno, è da rotaie, ma dal momento che le rotaie sono un rack up, funziona. – jigfox

+0

Normalmente i miei progetti Rack non hanno una directory config/inizializzatori, solo i miei progetti di rotaie hanno ... – Phillipp

0

O solo per rispondere alla domanda, aggiungere questo in config/initializers/mime_types.rb:

Mime::Type.register "text/x-component", :htc 
Problemi correlati