Don't use the getReader() method internally in NodeJsSourceModule given
that we don't need to scan the extra define function that is added, and
given that IOUtils.copy() does already buffer the stream but *does not*
automatically close it.
Change how we use IOUtils.copy() as it does not automatically close
readers.
Converted the BRJS servlet and filter over to use the model to perform
all heavy-lifting, and to avoid needing to the probe the model to
determine whether a request should be handled or not.
Updated the dashboard loading test so it requests exactly the same URL
as when connecting to the dashboard using a browser.
Make the bladerunner uri equivalent to how it would look within the app
server.
Make `given(brjs).hasBeenAuthenticallyCreated()` more realistic by
sharing as much code as possible with how the model is normally created.
canonicalize the sdk file path so it is comparable to what we use when
running via the app server.
Prevent a null pointer exception from occurring when the servlet path is
null.
Go back to manually updating the Content-Length header when filtering
index html pages as this otherwise causes web clients that strictly
adhere to the standards to fail.
Don't bork if we are asked to filter an index page that doesn't have a
related bundlable-node -- it's too difficult for the servlet to know
this from the outside.
Allow content plug-ins that allow requests directly to their
request-prefix only.
Deleted a test for functionality we don't need to support, and which has
now been removed.
Ensure we don't accidentally try to process requests for old bundlers
that happen to match the request prefix of one of the new bundlers.
Stop exposing RequirePathException in addition to
ModelOperationException, as this is not 'usable' by external developers,
and therefore doesn't comply with our current exception strategy.
Removed unused import.
Set a Content-Type header (based on the file extension at the end of the
request) for all requests to content plug-ins.