* Added support for multiple request configurations.
This allows multiple requests to hit the same verb+path combination.
This was previously impossible, to address it, it's now possible to pass
an array of request settings as the body of a request each request will
be added to the request list individually.
Example:
```
GET /some/path:
- alias: first
headers:
request: first
- alias: second
headers:
request: second
```
* Allows using full urls in the request key
This allows you to break out of the top-level endpoint. If you send a
full url instead of a path it'll be used instead of the top level
endpoint.
Example:
```
endpoint: http://example.com
GET /posts: get-posts
POST http://api.example.com/posts: post-post
```
This allows multiple requests to hit the same verb+path combination.
This was previously impossible, to address it, it's now possible to pass
an array of request settings as the body of a request each request will
be added to the request list individually.
Example:
```
GET /some/path:
- alias: first
headers:
request: first
- alias: second
headers:
request: second
```
Basically I like how when using Object.entries you can destructure and
name the value. It feels a lot more explicit to give the value a name
rather than refer to it as obj[k]. The syntax is not super pretty though.
* I need to stop rewriting builtin methods with reduce.
* Removed redundant fields from the config class.
* Added a warning when module version and beau.yml version differ.
* Moved the spinner initialization to the base class.
* Got rid of the base class, it complicated testing.
Now it lives on as a utils file. Should make it easier to test the CLI.
* Added a spec file for the ListCommand.
* Added tests for all CLI commands.
* Update some old tests.
Added missing cases and tests.
Most of these are kind useless but I hope I won't have to touch them
again.
I don't actually remember why I did it this way. I probably wanted to be
a lot more strict with the keys originally which seems silly in
retrospective.
--as-json outputs the response as json, this allows you to use tools
like jq on the output which is nice.
--quiet makes it so no output is printed. I added this in case you are
looping Beau and don't want to see the output of every single request.
Example: `seq 10 | xargs -I{} beau request hi --quiet`.
I am making a couple of small changes to how external environment
variables are used. From now own everything comming from the outside,
namely the .env file and the params flag are assigned to the '_'
variable within the internal environment. This is mostly to namespace
things and make it clear where they are coming from.
This is mostly some clean up. Now plugins are checked for existence
before being required. The regex for dynamic values was improved a
little in an attemp to make it more reliable. Plugins are only required
once now.
The CLI's CWD is set to that of the config file. This makes relative
paths mentioned in the file more reliable.