Как установить тип контента для конкретного файла с помощью Rack? - PullRequest
9 голосов
/ 22 июля 2010

Я хочу, чтобы Rack обслуживал определенный файл с определенным типом контента. Это файл .htc, и его нужно использовать как текстовый / x-компонент, чтобы IE его распознал. В apache я бы просто сделал

AddType text/x-component .htc

Как мне этого добиться с помощью Rack? В настоящее время файл обслуживается Rack :: Static, но я не нашел опции для установки типа контента.

Ответы [ 2 ]

14 голосов
/ 22 июля 2010

Вы можете обновить свой config/initializers/mime_types.rb следующим образом:

# 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 голосов
/ 21 декабря 2013

Или просто чтобы ответить на вопрос, добавьте это в config/initializers/mime_types.rb:

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