mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-11 23:02:56 +01:00
feat(data): add HTTP Request node with declarative configuration
- New HTTP Request node (net.noodl.HTTP) for API integration
- URL path parameter detection (/users/{userId} creates input ports)
- Dynamic ports for headers, query params, body fields
- Authentication presets: None, Bearer, Basic, API Key
- Response mapping with JSONPath extraction
- Body types: JSON, Form Data, URL Encoded, Raw
- Timeout and cancel support
Phase 2 Task 1 - Core implementation complete
This commit is contained in:
@@ -1,18 +1,37 @@
|
||||
# TASK-001 Changelog
|
||||
|
||||
## [Date] - [Developer]
|
||||
## 2025-01-08 - Cline
|
||||
|
||||
### Summary
|
||||
[To be filled as work progresses]
|
||||
Phase 1 implementation - Core HTTP Node created with declarative configuration support.
|
||||
|
||||
### Files Created
|
||||
- [List files as they're created]
|
||||
- `packages/noodl-runtime/src/nodes/std-library/data/httpnode.js` - Main HTTP node implementation with:
|
||||
- URL with path parameter support ({param} syntax)
|
||||
- HTTP methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
|
||||
- Dynamic port generation for headers, query params, body fields
|
||||
- Authentication presets: None, Bearer, Basic, API Key
|
||||
- Response mapping with JSONPath-like extraction
|
||||
- Timeout and cancel support
|
||||
- Inspector integration
|
||||
|
||||
### Files Modified
|
||||
- [List files as they're modified]
|
||||
- `packages/noodl-runtime/noodl-runtime.js` - Added HTTP node registration
|
||||
|
||||
### Features Implemented
|
||||
1. **URL Path Parameters**: `/users/{userId}` automatically creates `userId` input port
|
||||
2. **Headers**: Visual configuration creates input ports per header
|
||||
3. **Query Parameters**: Visual configuration creates input ports per param
|
||||
4. **Body Types**: JSON, Form Data, URL Encoded, Raw
|
||||
5. **Body Fields**: Visual configuration creates input ports per field
|
||||
6. **Authentication**: Bearer, Basic Auth, API Key (header or query)
|
||||
7. **Response Mapping**: Extract data using JSONPath syntax
|
||||
8. **Outputs**: Response, Status Code, Response Headers, Success/Failure signals
|
||||
|
||||
### Testing Notes
|
||||
- [Document testing as it happens]
|
||||
- [ ] Need to run `npm run dev` to verify node appears in Node Picker
|
||||
- [ ] Need to test basic GET request
|
||||
- [ ] Need to test POST with JSON body
|
||||
|
||||
### Known Issues
|
||||
- [Track any issues discovered]
|
||||
- Uses `stringlist` type for headers/queryParams/bodyFields - may need custom visual editors in Phase 3
|
||||
|
||||
Reference in New Issue
Block a user