From 0b753d855fd5be1f25b5291c78f25171d2151e19 Mon Sep 17 00:00:00 2001 From: Jeremy Daly Date: Wed, 21 Oct 2020 09:58:45 -0400 Subject: [PATCH] sponsor update --- README.md | 71 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index d8ece57..839dd26 100644 --- a/README.md +++ b/README.md @@ -44,43 +44,56 @@ You may have heard that a serverless "best practice" is to keep your functions s Whatever you decide is best for your use case, **Lambda API** is there to support you. Whether your function has over a hundred routes, or just one, Lambda API's small size and lightning fast load time has virtually no impact on your function's performance. You can even define global wildcard routes that will process any incoming request, allowing you to use API Gateway or ALB to determine the routing. Yet despite its small footprint, it gives you the power of a full-featured web framework. ## Table of Contents +- [Simple Example](#simple-example) +- [Why Another Web Framework?](#why-another-web-framework) + - [Single Purpose Functions](#single-purpose-functions) +- [Table of Contents](#table-of-contents) - [Installation](#installation) - [Requirements](#requirements) - [Configuration](#configuration) - [Recent Updates](#recent-updates) + - [v0.10: ALB support, method-based middleware, and multi-value headers and query string parameters](#v010-alb-support-method-based-middleware-and-multi-value-headers-and-query-string-parameters) + - [v0.9: New error types, custom serializers, and TypeScript support](#v09-new-error-types-custom-serializers-and-typescript-support) + - [v0.8: Logging support with sampling](#v08-logging-support-with-sampling) + - [v0.7: Restrict middleware execution to certain paths](#v07-restrict-middleware-execution-to-certain-paths) + - [v0.6: Support for both `callback-style` and `async-await`](#v06-support-for-both-callback-style-and-async-await) + - [v0.5: Remove Bluebird promises dependency](#v05-remove-bluebird-promises-dependency) + - [v0.4: Binary support](#v04-binary-support) + - [v0.3: New instantiation method](#v03-new-instantiation-method) - [Routes and HTTP Methods](#routes-and-http-methods) - [Returning Responses](#returning-responses) - [Async/Await](#asyncawait) - [Promises](#promises) + - [A Note About Flow Control](#a-note-about-flow-control) - [Route Prefixing](#route-prefixing) - [Debugging Routes](#debugging-routes) - [REQUEST](#request) - [RESPONSE](#response) - - [attachment()](#attachmentfilename) - - [cache()](#cacheage--private) - - [clearCookie()](#clearcookiename-options) - - [cookie()](#cookiename-value-options) - - [cors()](#corsoptions) - - [download()](#downloadfile--filename--options--callback) - - [error()](#errorcode-message-detail) - - [etag()](#etagboolean) - - [getHeader()](#getheaderkey-value--asarray) + - [status(code)](#statuscode) + - [sendStatus(code)](#sendstatuscode) + - [header(key, value [,append])](#headerkey-value-append) + - [getHeader(key [,asArray])](#getheaderkey-asarray) - [getHeaders()](#getheaders) - - [getLink()](#getlinks3path-expires-callback) - - [hasHeader()](#hasheaderkey) - - [header()](#headerkey-value--append) - - [html()](#htmlbody) - - [json()](#jsonbody) - - [jsonp()](#jsonpbody) - - [location](#locationpath) - - [modified()](#modifieddate) - - [redirect()](#redirectstatus-path) - - [removeHeader()](#removeheaderkey) - - [send()](#sendbody) - - [sendFile()](#sendfilefile--options--callback) - - [sendStatus()](#sendstatuscode) - - [status()](#statuscode) - - [type()](#typetype) + - [hasHeader(key)](#hasheaderkey) + - [removeHeader(key)](#removeheaderkey) + - [getLink(s3Path [, expires] [, callback])](#getlinks3path--expires--callback) + - [send(body)](#sendbody) + - [json(body)](#jsonbody) + - [jsonp(body)](#jsonpbody) + - [html(body)](#htmlbody) + - [type(type)](#typetype) + - [location(path)](#locationpath) + - [redirect([status,] path)](#redirectstatus-path) + - [cors([options])](#corsoptions) + - [error([code], message [,detail])](#errorcode-message-detail) + - [cookie(name, value [,options])](#cookiename-value-options) + - [clearCookie(name [,options])](#clearcookiename-options) + - [etag([boolean])](#etagboolean) + - [cache([age] [, private])](#cacheage--private) + - [modified(date)](#modifieddate) + - [attachment([filename])](#attachmentfilename) + - [download(file [, filename] [, options] [, callback])](#downloadfile--filename--options--callback) + - [sendFile(file [, options] [, callback])](#sendfilefile--options--callback) - [Enabling Binary Support](#enabling-binary-support) - [Path Parameters](#path-parameters) - [Wildcard Routes](#wildcard-routes) @@ -94,6 +107,9 @@ Whatever you decide is best for your use case, **Lambda API** is there to suppor - [Serializers](#serializers) - [Sampling](#sampling) - [Middleware](#middleware) + - [Restricting middleware execution to certain path(s)](#restricting-middleware-execution-to-certain-paths) + - [Specifying multiple middleware](#specifying-multiple-middleware) + - [Method-based middleware](#method-based-middleware) - [Clean Up](#clean-up) - [Error Handling](#error-handling) - [Error Types](#error-types) @@ -104,9 +120,11 @@ Whatever you decide is best for your use case, **Lambda API** is there to suppor - [Lambda Proxy Integration](#lambda-proxy-integration) - [ALB Integration](#alb-integration) - [Configuring Routes in API Gateway](#configuring-routes-in-api-gateway) +- [Reusing Persistent Connections](#reusing-persistent-connections) - [TypeScript Support](#typescript-support) - [Sponsors](#sponsors) - [Contributions](#contributions) +- [Are you using Lambda API?](#are-you-using-lambda-api) ## Installation ``` @@ -1376,6 +1394,11 @@ exports.run = async (event: APIGatewayEvent, context: Context) => { } ``` +## Sponsors + +[![New Relic](https://user-images.githubusercontent.com/2053544/96728664-55238700-1382-11eb-93cb-82fe7cb5e043.png)](https://ad.doubleclick.net/ddm/trackclk/N1116303.3950900PODSEARCH.COM/B24770737.285235234;dc_trk_aid=479074825;dc_trk_cid=139488579;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755}) +Advertisement + ## Contributions Contributions, ideas and bug reports are welcome and greatly appreciated. Please add [issues](https://github.com/jeremydaly/lambda-api/issues) for suggestions and bug reports or create a pull request.