Files
tspublish/.serena/memories/smartrequest_api_update_2025.md

39 lines
1.2 KiB
Markdown

# SmartRequest API Update - January 2025
## Context
The @push.rocks/smartrequest package (v4.2.1) uses a new chainable API that replaced the old function-based API.
## Changes Made
### Old API (v2.x)
```typescript
const response = await plugins.smartrequest.request(url, {
headers: this.headers,
method: 'GET',
queryParams: { key: value }
});
const data = response.body;
```
### New API (v4.x)
```typescript
const requestBuilder = plugins.smartrequest.SmartRequest.create()
.url(url)
.headers(this.headers)
.query({ key: value });
const response = await requestBuilder.get();
const data = await response.json();
```
## Key Differences
1. **Request Creation**: Use `SmartRequest.create()` instead of direct function call
2. **Chainable Methods**: Configure requests with `.url()`, `.headers()`, `.query()`
3. **HTTP Methods**: Use `.get()`, `.post()`, `.delete()` etc. instead of method parameter
4. **Response Parsing**: Call `.json()` on response to get parsed data (was `.body` before)
## Files Updated
- `ts/classes.giteaassets.ts` - Updated the `getFiles()` method to use new API
## Testing
All tests pass successfully, including the GiteaAssets tests that fetch real data from code.foss.global.