# Bash REST API client

A set of class like functions with a <code>http.</code> prefix.
This is a bash solution to script REST API calls.

The specialties of this component are

* It was build to simplify http calls and handle http response for scripts
* After making a request the response stays is in memory. There is no output to any file to grep something or to cleanup after usage.
* Its functions feel a bit like class methods, i.e. http.getResponse to get the response body or http.getResponseHeader for the Http response header
* This component wraps curl - it supports any http method
* works with anonymous requests and authentication / authorization: (Basic authentication, Authorization header (tokens, NTLM) or any other request header variable
* The response can be stored ... and reimported later. After import you can use the http.get* functions to fetch results from the former request.
* Caching support for GET requests with a given TTL: if you repeat a request to the same url and ttl was not reached yet then you continue with the cached result

👤 Author: Axel Hahn; Institute for Medical Education; University of Bern \
📄 Source: <https://git-repo.iml.unibe.ch/iml-open-source/bash-rest-api-client> \
📜 License: GNU GPL 3.0 \
📗 Docs: <https://os-docs.iml.unibe.ch/bash-rest-api-client/>

## Screenshot

![Screenshot - example script](docs/images/screenshot_example_01.png)