Merge branch 'v2.1-dev'
[squeep-api-dingus] / README.md
index 7056184ac2f0341b2477190fd357482e34f632f7..e4c153c1e6dddb6c12edc0fb8bb8466babf00c13 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ This is not drop-in compatible with the industry standards, and is in no way int
 
 The primary design goals are:
 - self-contained: Uses as few external dependencies as are feasible.
-- not-infinitely-extensible: The projects it gets used in drive the feature set.
+- not-infinitely-extensible: The projects it gets used in drive the feature set, so some expected functionality may be surprisingly missing.
 - learning from mistakes made along the way: This was partly created as a means to gain a better understanding of the existing web framework ecosystem by fussing with all the involved fiddly bits, a priori, from the bottom up.
 
 ## Getting Started
@@ -16,11 +16,11 @@ The primary design goals are:
 Construct it with a console-level-compatible logger object capable of doing something meaningful with calls like `logger[level](scopeString, messageString, dataObject)`.
 
 Within the server request handler:
-- `dispatch(req, res)` makes things go.
+- `async dispatch(req, res)` makes things go.
 
 Within the application implementation:
 - `on(method, urlPath, handler)` declares a thing to do when a request matches.
-- `preHandler(req, res, ctx)` is called on every request before the handler function, by default adding some request information to the context.
+- `async preHandler(req, res, ctx)` is called on every request before the handler function, by default adding some request information to the context.
 
 Within your handlers:
 - parameters from the route and query, along with other metadata, are set in each context.
@@ -33,5 +33,9 @@ Negotiated content types can be extended by overriding:
 - `renderError(contentType, err)` for outgoing types.
 
 Some handler functions are provided:
-- `handlerGetStaticFile(req, res, ctx, file)` will return a file from a configured directory, and also supports including CERN-style header metadata.  It will also serve pre-encoded variations (e.g `.gz` or `.br`) if available and requested.
-- `handlerRedirect(req, res, ctx, newPath, statusCode)` will return a redirect response.
+- `async handlerGetStaticFile(req, res, ctx, file)` will return a file from a configured directory, and also supports including CERN-style header metadata.  It will also serve pre-encoded variations (e.g. `.gz` or `.br`) if available and requested.
+- `async handlerRedirect(req, res, ctx, newPath, statusCode)` will return a redirect response.
+
+## Performance
+
+While not a specifically-focused target, performance falls roughly midway between [koa](https://koajs.com/) and [fastify](https://fastify.dev/).