Utilities and Lifecycle
Advanced HttpClient Methods
buildRequest()
Method Signature
buildRequest(input: string | Request, init?: RequestInit): RequestHow It Works
Basic Usage
import { IHttpClient } from '@aurelia/fetch-client';
import { resolve } from '@aurelia/kernel';
export class RequestBuilderService {
private http = resolve(IHttpClient);
constructor() {
this.http.configure(config => config
.withBaseUrl('https://api.example.com')
.withDefaults({
headers: {
'Authorization': 'Bearer token123',
'Accept': 'application/json'
}
})
);
}
buildExampleRequest() {
// Build a request without sending it
const request = this.http.buildRequest('/users/123');
console.log(request.url); // 'https://api.example.com/users/123'
console.log(request.method); // 'GET'
console.log(request.headers.get('Authorization')); // 'Bearer token123'
console.log(request.headers.get('Accept')); // 'application/json'
return request;
}
}Advanced Request Building
Practical Use Cases
Important Notes
dispose()
Method Signature
What It Does
Basic Usage
Interceptor Cleanup
Component Lifecycle Integration
Complete Cleanup Example
Best Practices
Utility Functions
json()
Function Signature
Basic Usage
With Request Body
Custom Replacer Function
Handling Edge Cases
Practical Examples
Comparison with JSON.stringify()
Error Handling
Error Code System
Error Codes Reference
AUR5000: Fetch Function Not Found
AUR5001: Invalid Configuration Return
AUR5002: Invalid Configuration Type
AUR5003: Invalid Default Headers
AUR5004: Multiple Retry Interceptors
AUR5005: Retry Interceptor Not Last
AUR5006: Invalid Interceptor Result
AUR5007: Invalid Exponential Interval
AUR5008: Invalid Retry Strategy
Error Handling Best Practices
Development vs Production
Cache Implementation Details
Cache Key Generation
Cache Key Examples
Cache Header Marker
Refresh Stale Immediate
Summary
Last updated
Was this helpful?