Havana static
A static response handler.
Havana static works with a server side response/request
dispatcher such as
Havana server
or a library with an interchangeable API. When a dispatcher
publishes a response.received
event, Havana static will
search the defined static directory for the resource. If
Havana static matches the resource it will publish a
response.send
event, publishing the response data for
consumption by the dispatcher. If Havana static does not
match the resource it will publish a response.handler.error
event to notify the dispatcher that it has not matched the
resource.
How to install
npm install havana-static
How to use
;;;; const event = ; const reporting = 'level': 2 'reporter': consolelog; const server = 'event': event 'reporting': reporting; 'event': event 'reporting': reporting 'rootDir': __dirname 'staticDir': 'public'; server;
Event list
Events take the form of Havana event or a library with an interchangeable API.
Publish
response.handler.register
: Signifies that Havana static will now attempt to handle requests.response.send
: Signifies that Havana static has matched a request, publishing the response data for consumption by a request/response dispatcher.response.handler.error
: Signifies that Havana static was unable to match a request.
Subscribe
request.received
: Allows a request/response dispatcher to notify Havana static that it has received a request, publishing the request data for consumption by Havana static.
ES2015+
Havana static is written using ES2015+ syntax.
However, by default this module will use an ES5 compatible file that has been compiled using Babel.
In the dist
directory there are two files, the default
is static.js
.
Havana static currently requires the
Babel polyfill.
You are expected to supply this yourself. However, as a
courtesy you will also find static.with-polyfill.js
in the
dist
directory.