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.

Files for httpie-astra, version 0.0.5
Filename, size File type Python version Upload date Hashes
Filename, size httpie_astra-0.0.5-py3-none-any.whl (8.3 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page