class Rack::ContentType

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 the default.

Public Class Methods

# File lib/rack/content_type.rb, line 18
def initialize(app, content_type = "text/html")
  @app = app
  @content_type = content_type
end

Public Instance Methods

# File lib/rack/content_type.rb, line 23
def call(env)
  status, headers, _ = response = @app.call(env)

  unless STATUS_WITH_NO_ENTITY_BODY.key?(status.to_i)
    headers[CONTENT_TYPE] ||= @content_type
  end

  response
end