![Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility](https://cdn.sanity.io/images/cgdhsj6q/production/97774ea8c88cc8f4bed2766c31994ebc38116948-1664x1366.png?w=400&fit=max&auto=format)
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
httpAWS is a command line HTTP client for AWS services. Its goal is to make CLI interaction with AWS web services as
human-friendly as possible. It provides a simple httpaws
command that allows for sending HTTP requests to AWS
services using a simple and natural syntax, and displays colorized output. httpAWS can be used for testing, debugging,
and generally interacting direly with AWS services with HTTP requests.
httpAWS directly makes HTTP calls to AWS service endpoints using the requests and aws-requests-auth modules.
This is a low-level command-line tool intended for use by developers so that they can easily make direct HTTP calls to AWS services. It is effectively a command-line programmatic replacement for using a graphical tool like Postman and was inspired by tools like HTTPie but is specific to AWS services.
A universal installation method (that works on Windows, Mac OS X, Linux, …, and always provides the latest version) is to use pip:
# Make sure we have an up-to-date version of pip and setuptools:
$ pip install --upgrade pip setuptools
$ pip install --upgrade httpaws
(If pip
installation fails for some reason, you can try easy_install httpaws
as a fallback.)
Although Python 2.7 is supported as well, it is strongly recommended to install httpAWS against the latest Python 3.x whenever possible. That will ensure that some of the newer HTTP features, such as SNI (Server Name Indication), work out of the box. Python 3 is the default for Homebrew installations starting with version 0.9.4.
You can also install the latest unreleased development version directly from
the master
branch on GitHub. It is a work-in-progress of a future stable
release so the experience might be not as smooth.
$ pip install -U https://github.com/http-aws/http-aws/archive/master.tar.gz
Hello World:
$ httpaws -s ec2 DescribeVpcs
Synopsis:
$ httpaws [flags] <API>
See also httpaws -h
for detailed help:
$ httpaws -h
usage: httpaws [-h] [-r REGION] [-s SERVICE] [-e ENDPOINT] [-c CREDS]
[-v VERSION] [-p] [-w]
api
httpaws v0.0.2: A CLI HTTP client for AWS services with syntax highlighting
positional arguments:
api name of the API to call - e.g. "DescribeVpcs"
optional arguments:
-h, --help show this help message and exit
-r REGION, --region REGION
AWS region. Overrides config/env - e.g. us-east-1
-s SERVICE, --service SERVICE
AWS service - e.g. ec2, s3, etc.
-e ENDPOINT, --endpoint ENDPOINT
override command's default URL with the given URL -
e.g. ec2.us-east-1.amazonaws.com
-c CREDS, --creds CREDS
override AWS Access Key Id and AWS Secret Access Key -
i.e. <Access_Key>:<Secret_Key>
-v VERSION, --version VERSION
API version to use for the service
-p, --paginate paginate long output
-w, --wrap wrap long lines in paginated output (instead of chop)
See the AWS Documentation for API references for each service:
https://docs.aws.amazon.com
The currently supported authentication scheme is provided by the aws-requests-auth Python module. The two modes are are Automatic and Manual. There is one flag that controls authentication:
Flag | Description |
---|---|
-c/--creds | Pass a <AWS_Access_Key_Id>:<AWS_Secret_Access_Key> pair as the argument |
If the -c
flag is not provided, then httpAWS will attempt to automatically gather your AWS credentials using
botocore
.
$ httpaws DescribeVpcs
$ http -c <Access_Key>:<Secret_Key> DescribeVpcs
HTTP redirects are not followed and only the first esponse is shown.
At this time, httpAWS only outputs the final response and the whole response message is printed (headers as well as the body).
httpAWS does several things by default in order to make its terminal output easy to read.
Syntax highlighting is applied to HTTP headers bodies (where it makes sense).
Also, the following formatting is applied:
By default, httpAWS sends all output to stdout
.
The reason is to make piping httpAWS's output to other programs work with no extra flags. Most of the time, only the raw response body is of an interest when the output is redirected.
Force colorizing and formatting, and show both the request and the response in
less
pager:
$ httpaws -p DescribeVpcs
The -p
flag tells httpAWS to pipe the output to less
and to interpret color escape sequences included
httpAWS`s output.
You can also redirect the response body to another program:
$ httpaws -s s3 List | grep "MagnumOpus.txt"
Responses are downloaded synchronously and printed when the download is complete which is convenient for formatting and coloring moderate sized responses. However, if you want to download large files without using too much memory, this isn't the tool you are looking for.
At this time every request httpAWS makes is completely independent of any previous ones to the same host and httpAWS does not support persistent sessions.
httpAWS uses the same config files as used by the aws cli
.
The default location of the configuration files are ~/.aws/config
and ~/.aws/credentials
.
The default AWS region is read from the config
file, while the default AWS access and secret keys are read from the
credentials
file.
The -p
option for paginating long output is excellent when a human is reading this output, but
is not typically desirable during non-interactive invocations. You most likely do not want to use
use the -p
option when httpAWS is invoke from example form a cron job. Also, if you wnat to redirect or
pipe the output of httpAWS, the -p
flag should also be avoided.
Please use the following support channels:
Under the hood, httpAWS uses these amazing libraries:
This tool is intended for development and educational purposes. It is NOT intended for robust and reliable administration of AWS services. For interaction with production AWS services, it is highly recommended that you use an officially supported tool specifically designed for that purpose such as any of the following:
See CONTRIBUTING.md
See CHANGELOG.md
Apache 2.0: LICENSE
Todd Leonhardt created httpaws and these fine people have contributed.
FAQs
httpAWS - a CLI, cURL-like tool for AWS services.
We found that httpaws demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.