Skip to main content

Astra plugin for HTTPie.

Project description

Astra plugin for HTTPie.

Installation

To install from sources:

$ python setup.py install

If using python 3 on Mac, replace python with python3:

$ python3 setup.py install

Or, if you like, you can just use pip:

$ pip install httpie-astra

Usage

The Astra plugin relies on a .astrarc credentials file that will be created in your home directory and organized by [section] following the format below. Each [section] can contain a different credentials set allowing you to store all of your credentials in a single file.

[default]
ASTRA_DB_REGION = *******
ASTRA_DB_ID = *********************
ASTRA_DB_USERNAME = *********
ASTRA_DB_PASSWORD = *********
ASTRA_DB_KEYBASE = tutorial
ASTRA_DB_TOKEN = xxxx
ASTRA_DB_TOKEN_TIME = X

[section1]
ASTRA_DB_REGION = *******
ASTRA_DB_ID = *********************
ASTRA_DB_USERNAME = *********
ASTRA_DB_PASSWORD = *********
ASTRA_DB_KEYBASE = tutorial
ASTRA_DB_TOKEN = xxxx
ASTRA_DB_TOKEN_TIME = X

Once you have the credentials set up, here is an example of what an Astra Call call would look like:

% http --auth-type astra -a default: :/rest/v2/schemas/keyspaces
or
% http :/graphql/tutorial query='query { products(value: { id: "65cad0df-4fc8-42df-90e5-4effcd221ef7" }) { values { id name description price created } } }'

When you run the command, if your authentication token has expired it will refresh it for you.

I have made a change to how httpie processes json data. To pass JSON in the request, just use something like this:

http --auth-type astra -a default: POST :/rest/v2/schemas/keyspaces/KS/tables \
json:='{"name":"products","ifNotExists":true,"columnDefinitions": [\
{"name":"id","typeDefinition":"uuid","static":false}, {"name":"name","typeDefinition":"text","static":false}, \
{"name":"description","typeDefinition":"text","static":false}, {"name":"price","typeDefinition":"decimal","static":false}, \
{"name":"created","typeDefinition":"timestamp","static":false}],"primaryKey": {"partitionKey":["id"]},"tableOptions":{"defaultTimeToLive":0}}'

Note that you can create a configuration file to simplify the command further

File: ~/.config/httpie/config.json

{
       "default_options": [
               "--style=fruity",
               "--auth-type=astra",
               "--auth=default:"
       ]
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpie-astra-0.1.1.tar.gz (9.0 kB view hashes)

Uploaded Source

Built Distribution

httpie_astra-0.1.1-py3-none-any.whl (9.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page