views:

30

answers:

1

I want to have Rack serve a specific file with a specific content type. It's a .htc file and it needs to be served as text/x-component so that IE will recognize it. In apache I would just do

AddType text/x-component .htc

How can I achieve this with Rack? Currently the file is served by Rack::Static, but I didn't find an option to set the content type.

+1  A: 

You can update your config/initializers/mime_types.rb like this:

# 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"
})
jigfox
That did the trick, thank you! I had no mime_types.rb, so I put it directly into the config.ru file.
Sven Koschnicke
sorry, sure you didn't have one, it's from rails, but since rails is a rack up, it works.
jigfox

related questions