Sha256: 43159f586b5ea3d53fbbded5940aa84baa17916f33b1011d9eff8fab95e88b6f

Contents?: true

Size: 672 Bytes

Versions: 204

Compression:

Stored size: 672 Bytes

Contents

require 'rack/utils'

module Rack

  # Sets the Content-Type header on responses which don't have one.
  #
  # Builder Usage:
  #   use Rack::ContentType, "text/plain"
  #
  # When no content type argument is provided, "text/html" is assumed.
  class ContentType
    include Rack::Utils

    def initialize(app, content_type = "text/html")
      @app, @content_type = app, content_type
    end

    def call(env)
      status, headers, body = @app.call(env)
      headers = Utils::HeaderHash.new(headers)

      unless STATUS_WITH_NO_ENTITY_BODY.include?(status)
        headers['Content-Type'] ||= @content_type
      end

      [status, headers, body]
    end
  end
end

Version data entries

204 entries across 174 versions & 32 rubygems

Version Path
challah-rolls-0.2.0 vendor/bundle/gems/challah-0.8.0.pre/vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
challah-rolls-0.2.0 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
challah-rolls-0.2.0 vendor/bundle/gems/challah-0.8.3/vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
challah-0.8.3 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.8 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.7 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.6 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.5 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.4 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.3 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.2 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.1 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.6.0 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
challah-0.8.1 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.5.17 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.5.16 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.5.15 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.5.14 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb
classiccms-0.5.13 vendor/bundle/gems/rack-1.4.1/lib/rack/content_type.rb