What is @aws-sdk/middleware-expect-continue?
@aws-sdk/middleware-expect-continue is a middleware package for the AWS SDK for JavaScript. It is used to handle the 'Expect: 100-continue' HTTP header, which allows a client to check if the server is willing to accept a request before actually sending the request body. This can be useful for optimizing network usage and improving performance when sending large payloads.
What are @aws-sdk/middleware-expect-continue's main functionalities?
Adding Expect-Continue Middleware
This feature allows you to add the Expect-Continue middleware to an AWS SDK client. The middleware is added to the client's middleware stack at the 'build' step with high priority.
const { S3Client } = require('@aws-sdk/client-s3');
const { expectContinueMiddleware } = require('@aws-sdk/middleware-expect-continue');
const client = new S3Client({});
client.middlewareStack.add(expectContinueMiddleware(), {
step: 'build',
priority: 'high',
});
Customizing Expect-Continue Middleware
This feature allows you to customize the Expect-Continue middleware by setting options such as the continue timeout. In this example, the continue timeout is set to 3000 milliseconds.
const { S3Client } = require('@aws-sdk/client-s3');
const { expectContinueMiddleware } = require('@aws-sdk/middleware-expect-continue');
const client = new S3Client({});
client.middlewareStack.add(expectContinueMiddleware({
continueTimeout: 3000 // Custom timeout in milliseconds
}), {
step: 'build',
priority: 'high',
});
Other packages similar to @aws-sdk/middleware-expect-continue
axios
Axios is a popular HTTP client for Node.js and the browser. It supports the 'Expect: 100-continue' header through its configuration options. Compared to @aws-sdk/middleware-expect-continue, Axios is a more general-purpose HTTP client and can be used for a wide range of HTTP requests, not just those related to AWS services.
request
Request is another widely-used HTTP client for Node.js that supports the 'Expect: 100-continue' header. It provides a simple and easy-to-use API for making HTTP requests. While Request is more general-purpose, @aws-sdk/middleware-expect-continue is specifically designed to work with the AWS SDK for JavaScript.