Class NewRelic::Rack::BrowserMonitoring
In: lib/new_relic/rack/browser_monitoring.rb
Parent: AgentMiddleware

This middleware is used by the agent for the Real user monitoring (RUM) feature, and will usually be automatically injected in the middleware chain. If automatic injection is not working, you may manually use it in your middleware chain instead.

@api public

Methods

Constants

SCAN_LIMIT = 50_000   The maximum number of bytes of the response body that we will examine in order to look for a RUM insertion point.
CONTENT_TYPE = 'Content-Type'.freeze
CONTENT_DISPOSITION = 'Content-Disposition'.freeze
ATTACHMENT = 'attachment'.freeze
TEXT_HTML = 'text/html'.freeze
BODY_START = "<body".freeze
HEAD_START = "<head".freeze
GT = ">".freeze
ALREADY_INSTRUMENTED_KEY = "newrelic.browser_monitoring_already_instrumented"
CHARSET_RE = /<\s*meta[^>]+charset\s*=[^>]*>/im.freeze
X_UA_COMPATIBLE_RE = /<\s*meta[^>]+http-equiv\s*=\s*['"]x-ua-compatible['"][^>]*>/im.freeze

Public Instance methods

Per "The Response > The Body" section of Rack spec, we should close if our response is able. rack.rubyforge.org/doc/SPEC.html

[Validate]