class WebConsole::Injector
Injects content into a Rack body.
Public Class Methods
new(body, headers)
click to toggle source
# File lib/web_console/injector.rb, line 6 def initialize(body, headers) @body = "".dup body.each { |part| @body << part } body.close if body.respond_to?(:close) @headers = headers end
Public Instance Methods
inject(content)
click to toggle source
# File lib/web_console/injector.rb, line 15 def inject(content) # Remove any previously set Content-Length header because we modify # the body. Otherwise the response will be truncated. @headers.delete("Content-Length") [ if position = @body.rindex("</body>") [ @body.insert(position, content) ] else [ @body << content ] end, @headers ] end