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.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

httpie_astra-0.1.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file httpie-astra-0.1.3.tar.gz.

File metadata

  • Download URL: httpie-astra-0.1.3.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.0

File hashes

Hashes for httpie-astra-0.1.3.tar.gz
Algorithm Hash digest
SHA256 65fd873fa3d8342ff8ecf5f116801bf9ed2e74e58239d27ca6988e9113b24596
MD5 53b2bfb5121fe53d05202d3aa30af497
BLAKE2b-256 cda6ac0494b1932e673ee5cee3f46bc53e77bf5b83db98aaae22edb91f7ec57a

See more details on using hashes here.

File details

Details for the file httpie_astra-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for httpie_astra-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 51fbb46441d3df5b2e253e25fe06cb0f97312dbc189632f4846a38d6c4fd4a14
MD5 92c564123e2bf80493098f0f3ed96b87
BLAKE2b-256 9c502cebe2c8bc643ce998adb3be88f62b11d49ac482a04195d6814a263379fc

See more details on using hashes here.

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