mirror of
https://github.com/karl0ss/homepage.git
synced 2025-04-29 12:03:41 +01:00
Enhancement: Add requestBody param for customapi (#2921)
This commit is contained in:
parent
0d47dcaac7
commit
c268739e1f
@ -16,6 +16,7 @@ widget:
|
||||
password: password # auth - optional
|
||||
method: GET # optional, e.g. POST
|
||||
headers: # optional, must be object, see below
|
||||
requestBody: # optional, can be string or object, see below
|
||||
display: # optional, default to block, see below
|
||||
mappings:
|
||||
- field: key # needs to be YAML string or object
|
||||
@ -166,3 +167,16 @@ Pass custom headers using the `headers` option, for example:
|
||||
headers:
|
||||
X-API-Token: token
|
||||
```
|
||||
|
||||
## Custom Request Body
|
||||
|
||||
Pass custom request body using the `requestBody` option in either a string or object format. Objects will automatically be converted to a JSON string.
|
||||
|
||||
```yaml
|
||||
requestBody:
|
||||
foo: bar
|
||||
# or
|
||||
requestBody: "{\"foo\":\"bar\"}"
|
||||
```
|
||||
|
||||
Both formats result in `{"foo":"bar"}` being sent as the request body. Don't forget to set your `Content-Type` headers!
|
||||
|
@ -35,6 +35,12 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
};
|
||||
if (req.body) {
|
||||
params.body = req.body;
|
||||
} else if (widget.requestBody) {
|
||||
if (typeof widget.requestBody === "object") {
|
||||
params.body = JSON.stringify(widget.requestBody);
|
||||
} else {
|
||||
params.body = widget.requestBody;
|
||||
}
|
||||
}
|
||||
|
||||
const [status, contentType, data] = await httpProxy(url, params);
|
||||
|
Loading…
x
Reference in New Issue
Block a user