Requests are the basic building block in Beau. These define a particular HTTP request, it's properties, dependencies and content. They can be composed together to make more complex requests that might depend on another's value to complete.
Any key formatted as
METHOD /path is considered a request by Beau. If they
have an alias they are requestable by the Beau CLI and by other requests. They
can be composed with other requests and configured to send along a given
payload, parameters and headers when requested.
Here's an example:
POST /post/: alias: post params: id: 25 headers: authentication: "Bearer token" payload: name: David lastname: Diaz
The key has to be formatted as
<method> <path>, where the method is any
valid HTTP method (GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH)
followed by a path. The path will be appended to the current
endpoint when being requested.
These are all valid keys:
... POST /path: ... GET /path: ... PATCH /path: ... PUT /path: ...
If you pass a string as the value instead of an object, that string will be used as an alias.
The alias is what you will use to call the request from the CLI and what you'll use to compose requests together. It ideally is something short and easy to type. It allows special characters but if you expect to compose a given request you should avoid using dots.
... alias: name
The headers settings allow you to set any headers you want to send along with the HTTP request. You can pass an unlimited number of key-value pairs.
... headers: authentication: "Bearer token" some-other: header
The params settings allow you to define any parameters you'd like to send as part of your request. These parameters are added to the query string of the request.
... params: id: 25 order: ASC
The payload is where you set the request's body. It will be converted to json
automatically if given an object, otherwise you can send text. You shouldn't use
FormData as they'll override each other.
... payload: id: 25 order: ASC
... payload: "Hello World!"
The form key automatically changes the request so that its content is a
URL-Encoded form. All key-values are encoded and sent as the payload. The
Content-Type header is set to
You shouldn't use this with
FormData as they'll override each
... form: name: David lastname: Diaz
The FormData key automatically changes the request so that its content is a
multipart/form-data form. It's Content-Type header is set accordingly. This is
mainly used if you want to upload file and submit other binary data. You
shouldn't use this with
Form as they'll override each other.
... formdata: name: David lastname: Diaz