X-Git-Url: http://git.squeep.com/?p=squeep-api-dingus;a=blobdiff_plain;f=README.md;h=c67a282dc8bd12b015ce86c630edafa186413318;hp=7056184ac2f0341b2477190fd357482e34f632f7;hb=HEAD;hpb=a9beb684095f5d9e60711a22f7dd004cd1fe31bd diff --git a/README.md b/README.md index 7056184..e4c153c 100644 --- 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/).