n8n-nodes-better-http-request 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -0
- package/dist/nodes/BetterHttpRequest/BetterHttpRequest.node.d.ts +5 -0
- package/dist/nodes/BetterHttpRequest/BetterHttpRequest.node.js +1032 -0
- package/dist/nodes/BetterHttpRequest/BetterHttpRequest.node.js.map +1 -0
- package/dist/nodes/BetterHttpRequest/BetterHttpRequest.node.json +11 -0
- package/dist/nodes/BetterHttpRequest/Description.d.ts +2 -0
- package/dist/nodes/BetterHttpRequest/Description.js +743 -0
- package/dist/nodes/BetterHttpRequest/Description.js.map +1 -0
- package/dist/nodes/BetterHttpRequest/helpers.d.ts +38 -0
- package/dist/nodes/BetterHttpRequest/helpers.js +257 -0
- package/dist/nodes/BetterHttpRequest/helpers.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +41 -0
package/README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# n8n-nodes-better-http-request
|
|
2
|
+
|
|
3
|
+
An enhanced **HTTP Request** community node for [n8n](https://n8n.io) that adds automatic retry logic for failed items on top of all the capabilities already provided by the built-in HTTP Request node.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **All standard HTTP Request capabilities** – HTTP methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), query parameters, request headers, JSON/form/raw bodies, file uploads, pagination, batching, authentication, SSL certificates, and more.
|
|
8
|
+
- **Retry failed items** – automatically re-sends requests that failed with configurable HTTP status codes. Unlike the built-in node's retry which re-runs every item, this feature retries *only* the items that failed, leaving successful items untouched.
|
|
9
|
+
- Configurable maximum retry attempts (default: 3).
|
|
10
|
+
- Configurable delay between retries (default: 1000 ms).
|
|
11
|
+
- Configurable list of retriable status codes (default: `429,500,502,503,504`).
|
|
12
|
+
- Respects the `Retry-After` response header for HTTP 429 responses.
|
|
13
|
+
- **Domain restrictions** – credential-level allowlists prevent requests from being sent to unauthorized domains.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
### In your n8n instance
|
|
18
|
+
|
|
19
|
+
1. Open **Settings → Community Nodes**.
|
|
20
|
+
2. Click **Install a community node**.
|
|
21
|
+
3. Enter `n8n-nodes-better-http-request` and confirm the installation.
|
|
22
|
+
|
|
23
|
+
### Manual install on self-hosted
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install n8n-nodes-better-http-request
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Then restart n8n.
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
After installation the node appears in the node palette as **Better HTTP Request**.
|
|
34
|
+
|
|
35
|
+
### Basic request
|
|
36
|
+
|
|
37
|
+
1. Add the **Better HTTP Request** node to your workflow.
|
|
38
|
+
2. Set the **Method** (GET, POST, …) and the **URL**.
|
|
39
|
+
3. Optionally configure **Query Parameters**, **Headers**, and a **Body** in the respective sections.
|
|
40
|
+
4. Execute the workflow.
|
|
41
|
+
|
|
42
|
+
### Retry failed items
|
|
43
|
+
|
|
44
|
+
1. Enable **Continue On Fail** on the node (gear icon → *Continue On Fail*).
|
|
45
|
+
2. Open the **Options** section and turn on **Retry Failed Items**.
|
|
46
|
+
3. Adjust **Max Retries**, **Retry Delay (ms)**, and **Retry On Status Codes** to your needs.
|
|
47
|
+
|
|
48
|
+
When the workflow runs, any item whose request returns one of the configured status codes will be retried up to the specified number of times. All other items pass through immediately without waiting.
|
|
49
|
+
|
|
50
|
+
## Options reference
|
|
51
|
+
|
|
52
|
+
| Option | Default | Description |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| **Retry Failed Items** | `false` | Enable automatic retry for failed items. Requires *Continue On Fail* to be active. |
|
|
55
|
+
| **Max Retries** | `3` | Maximum number of retry attempts per failed item (1–10). |
|
|
56
|
+
| **Retry Delay (ms)** | `1000` | Milliseconds to wait between retry attempts. For HTTP 429, the `Retry-After` header value takes precedence. |
|
|
57
|
+
| **Retry On Status Codes** | `429,500,502,503,504` | Comma-separated list of HTTP status codes that trigger a retry. |
|
|
58
|
+
| **Batching** | – | Split items into batches and add a delay between them to avoid rate limits. |
|
|
59
|
+
| **Timeout** | `10000` (10 s) | Time in ms to wait for the server to start responding before aborting. |
|
|
60
|
+
| **Send Credentials on Cross-Origin Redirect** | `false` | Forward auth headers when following cross-origin redirects. |
|
|
61
|
+
|
|
62
|
+
## Development
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Install dependencies
|
|
66
|
+
npm ci
|
|
67
|
+
|
|
68
|
+
# Build
|
|
69
|
+
npm run build
|
|
70
|
+
|
|
71
|
+
# Run tests
|
|
72
|
+
npm test
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The project is written in TypeScript. The compiled output is placed in `dist/`.
|
|
76
|
+
|
|
77
|
+
## License
|
|
78
|
+
|
|
79
|
+
MIT
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class BetterHttpRequest implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
+
}
|