![New Socket Web Extension, Take Socket with You](https://cdn.sanity.io/images/cgdhsj6q/production/7c7e90f37af51d175eaf8b2ae56124aec35c57c8-874x566.png?w=400&fit=max&auto=format)
Product
New Socket Web Extension, Take Socket with You
Can you spot malicious malicious packages on the web at a glance? Socket can. Check out our updated Web Extension!
@aws-sdk/protocol-http
Advanced tools
[![NPM version](https://img.shields.io/npm/v/@aws-sdk/@aws-sdk/protocol-http/preview.svg)](https://www.npmjs.com/package/@aws-sdk/@aws-sdk/protocol-http) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/@aws-sdk/protocol-http.svg)](https://www.npm
Package description
@aws-sdk/protocol-http is a package within the AWS SDK for JavaScript that provides HTTP request and response handling functionalities. It is designed to facilitate communication with AWS services by creating and managing HTTP requests and responses.
Creating HTTP Requests
This feature allows you to create an HTTP request object with specified hostname, method, path, and headers. This is useful for setting up requests to AWS services or other endpoints.
const { HttpRequest } = require('@aws-sdk/protocol-http');
const request = new HttpRequest({
hostname: 'example.com',
method: 'GET',
path: '/path',
headers: {
'Content-Type': 'application/json'
}
});
console.log(request);
Handling HTTP Responses
This feature allows you to create an HTTP response object with specified status code, headers, and body. This is useful for handling responses from AWS services or other endpoints.
const { HttpResponse } = require('@aws-sdk/protocol-http');
const response = new HttpResponse({
statusCode: 200,
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ message: 'Success' })
});
console.log(response);
Middleware Integration
This feature demonstrates how to integrate middleware into the request/response lifecycle. Middleware can be used to add custom logic, such as logging or modifying requests and responses.
const { HttpRequest, HttpResponse } = require('@aws-sdk/protocol-http');
const { middlewareStack } = require('@aws-sdk/middleware-stack');
const stack = middlewareStack();
stack.add(
(next, context) => async (args) => {
console.log('Request:', args.request);
const result = await next(args);
console.log('Response:', result.response);
return result;
},
{
step: 'initialize',
name: 'loggingMiddleware',
priority: 'high'
}
);
const request = new HttpRequest({
hostname: 'example.com',
method: 'GET',
path: '/path'
});
stack.resolve(
(handler) => handler({ request }),
{ request }
).then((result) => console.log(result));
Axios is a popular promise-based HTTP client for the browser and Node.js. It provides a simple API for making HTTP requests and handling responses. Compared to @aws-sdk/protocol-http, Axios is more general-purpose and widely used for various web development tasks, not specifically tailored for AWS services.
Node-fetch is a lightweight module that brings `window.fetch` to Node.js. It allows you to make HTTP requests in a similar way to the Fetch API in the browser. While node-fetch is simpler and more lightweight, @aws-sdk/protocol-http offers more advanced features and integrations specifically for AWS services.
Request is a simplified HTTP client for Node.js with a user-friendly API. It has been widely used for making HTTP requests but is now deprecated. Compared to @aws-sdk/protocol-http, Request was more general-purpose and not specifically designed for AWS services.
Readme
FAQs
[![NPM version](https://img.shields.io/npm/v/@aws-sdk/protocol-http/latest.svg)](https://www.npmjs.com/package/@aws-sdk/protocol-http) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/protocol-http.svg)](https://www.npmjs.com/package/@aws-sdk/prot
The npm package @aws-sdk/protocol-http receives a total of 4,259,745 weekly downloads. As such, @aws-sdk/protocol-http popularity was classified as popular.
We found that @aws-sdk/protocol-http demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 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.
Product
Can you spot malicious malicious packages on the web at a glance? Socket can. Check out our updated Web Extension!
Product
Socket introduces three new customizable default security policies for users to choose from: Low Noise (traditional SCA), Default, and Higher Noise.
Security News
MITRE has just minted its 400th CNA, as the NVD struggles to tame its backlog of CVEs awaiting analysis, which has increased by 30% since June.