![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@dazn/lambda-powertools-http-client
Advanced tools
HTTP client that supports forwarding correlation IDs (captured via @dazn/lambda-powertools-correlation-ids) and auto-records metrics
HTTP client that automatically forwards correlation IDs (captured via @dazn/lambda-powertools-correlation-ids
), and follows DAZN's convention around recording metrics around integration points.
Main features:
auto-forwards any correlation IDs captured with the @dazn/lambda-powertools-correlation-ids
package as HTTP headers
auto-record custom metrics using the @dazn/datadog-metrics
package, which defaults to async mode (i.e. writing to stdout
in DogStatsD format) but can be configured via the DATADOG_METRICS_MODE
environment variable
custom metrics include:
{hostName}.response.latency
[histogram
]: e.g. google.com.response.latency
{hostName}.response.{statusCode}
[count
]: e.g. google.com.response.200
metric names can be overriden with the metricName
option (see below for details)
all custom metrics include the tags awsRegion
, functionName
, functionVersion
, method
(e.g. POST
) and path
(e.g. /v1/signin
)
you can add additional tags by passing them in via the metricTags
option (see below for details)
supports timeout
Install from NPM: npm install @dazn/lambda-powertools-http-client
Basic usage looks like this:
const HTTP = require('@dazn/lambda-powertools-http-client')
const sayIt = async () => {
const httpRequest = {
uri: `https://example.com/dev/say`,
method: 'post',
body: { message: 'hello world' }
}
await HTTP(httpRequest)
}
It's essentially a function that accepts a request of type:
{
uri/url : string (either uri or url must be specified)
method : GET (default) | POST | PUT | HEAD | DELETE | PATCH
headers : object
qs : object
body : object
metricName [optional] : string // override the default metric name, e.g. 'adyenApi', which changes metrics to 'adyenapi.latency' and 'adyenapi.202'
metricTags [optional] : string [] // additional tags for metrics, e.g. ['request_type:submit', 'load_test']
timeout [optional] : int (millis)
}
FAQs
HTTP client that supports forwarding correlation IDs (captured via @dazn/lambda-powertools-correlation-ids) and auto-records metrics
We found that @dazn/lambda-powertools-http-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.