call (Rack::ShowStatus)

    # File lib/rack/showstatus.rb, line 19
        def call(env)
          status, headers, body = @app.call(env)
          headers = Utils::HeaderHash.new(headers)
          empty = headers['Content-Length'].to_i <= 0

          # client or server error, or explicit message
          if (status.to_i >= 400 && empty) || env["rack.showstatus.detail"]
            req = Rack::Request.new(env)
            message = Rack::Utils::HTTP_STATUS_CODES[status.to_i] || status.to_s
            detail = env["rack.showstatus.detail"] || message
            body = @template.result(binding)
            size = body.respond_to?(:bytesize) ? body.bytesize : body.size
            [status, headers.merge("Content-Type" => "text/html", "Content-Length" => size.to_s), [body]]
          else
            [status, headers, body]
          end
        end