deleteAsync
The deleteAsync
method sends an HTTP DELETE request to the specified endpoint. It supports optional route parameters, custom headers, and request cancellation via an AbortController
.
Method Signature
public async deleteAsync(
routeParam: string | null = null,
headers: Headers = {},
controller: AbortController | null = null
): Promise<any>
Parameters
Name | Type | Description | Optional | Default Value |
---|---|---|---|---|
routeParam | string | null | Optional route segment to append to the base URL | Yes | null |
headers | Headers | Optional HTTP headers to include in the request | Yes | {} |
controller | AbortController | null | Optional controller to allow request cancellation | Yes | null |
Returns
The deleteAsync
method returns a Promise
that resolves to one of the following, depending on the server response:
- Parsed JSON object if the response has a Content-Type of application/json
- Plain text string if the response is text-based
- null if the server responds with HTTP status 204 No Content
Error Handling
If the request fails, the returned Promise
rejects with an error object containing:
- message: A descriptive error message
- status: HTTP status code (if available)
- statusText: HTTP status text (if available)
- responseBody: Parsed response body or raw text for further inspection
Errors can occur due to network failures, request timeouts, server errors, or manual request cancellation (via AbortController).
Example
import LunexClient from 'lunex-http';
const client = new LunexClient('https://api.example.com', {
Authorization: 'Bearer YOUR_TOKEN',
});
async function run(): Promise<void> {
try {
const response: any = await client.deleteAsync('users/123');
console.log('User deleted:', response);
} catch (error: unknown) {
console.error('DELETE request failed:', error);
}
}
run();