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
|
password: password # auth - optional
|
||||||
method: GET # optional, e.g. POST
|
method: GET # optional, e.g. POST
|
||||||
headers: # optional, must be object, see below
|
headers: # optional, must be object, see below
|
||||||
|
requestBody: # optional, can be string or object, see below
|
||||||
display: # optional, default to block, see below
|
display: # optional, default to block, see below
|
||||||
mappings:
|
mappings:
|
||||||
- field: key # needs to be YAML string or object
|
- field: key # needs to be YAML string or object
|
||||||
@ -166,3 +167,16 @@ Pass custom headers using the `headers` option, for example:
|
|||||||
headers:
|
headers:
|
||||||
X-API-Token: token
|
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) {
|
if (req.body) {
|
||||||
params.body = 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);
|
const [status, contentType, data] = await httpProxy(url, params);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user