npm-axios

Description
Promise based HTTP client for the browser and node.js
Author
tessl
Last updated

How to use

npx @tessl/cli registry install tessl/npm-axios@1.11.0

http-client.md docs/

1
# HTTP Client
2
3
Core HTTP client functionality providing all standard HTTP methods with Promise-based responses and extensive configuration options.
4
5
## Capabilities
6
7
### Default Instance
8
9
The main axios export is a pre-configured instance ready for immediate use with sensible defaults.
10
11
```javascript { .api }
12
/**
13
* Make HTTP request using configuration object
14
* @param config - Complete request configuration
15
* @returns Promise resolving to response data
16
*/
17
axios(config: AxiosRequestConfig): Promise<AxiosResponse>;
18
19
/**
20
* Make HTTP request using URL and optional configuration
21
* @param url - Request URL
22
* @param config - Optional request configuration
23
* @returns Promise resolving to response data
24
*/
25
axios(url: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;
26
```
27
28
**Usage Examples:**
29
30
```javascript
31
import axios from "axios";
32
33
// Configuration object approach
34
const response = await axios({
35
method: "post",
36
url: "https://api.example.com/users",
37
data: { name: "John", email: "john@example.com" },
38
headers: { "Content-Type": "application/json" }
39
});
40
41
// URL with config approach
42
const users = await axios("https://api.example.com/users", {
43
method: "get",
44
timeout: 5000
45
});
46
```
47
48
### GET Requests
49
50
Retrieve data from a server using GET method.
51
52
```javascript { .api }
53
/**
54
* Make GET request to specified URL
55
* @param url - Request URL
56
* @param config - Optional request configuration
57
* @returns Promise resolving to response data
58
*/
59
axios.get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
60
```
61
62
**Usage Examples:**
63
64
```javascript
65
// Simple GET request
66
const users = await axios.get("https://api.example.com/users");
67
console.log(users.data);
68
69
// GET with query parameters
70
const filteredUsers = await axios.get("https://api.example.com/users", {
71
params: { role: "admin", active: true }
72
});
73
74
// GET with custom headers
75
const profile = await axios.get("https://api.example.com/profile", {
76
headers: { "Authorization": "Bearer token123" }
77
});
78
```
79
80
### POST Requests
81
82
Send data to a server using POST method.
83
84
```javascript { .api }
85
/**
86
* Make POST request to specified URL
87
* @param url - Request URL
88
* @param data - Data to send in request body
89
* @param config - Optional request configuration
90
* @returns Promise resolving to response data
91
*/
92
axios.post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
93
```
94
95
**Usage Examples:**
96
97
```javascript
98
// POST with JSON data
99
const newUser = await axios.post("https://api.example.com/users", {
100
name: "Alice Smith",
101
email: "alice@example.com",
102
role: "user"
103
});
104
105
// POST with form data
106
const formData = new FormData();
107
formData.append("file", fileInput.files[0]);
108
formData.append("description", "Profile image");
109
110
const uploadResult = await axios.post("https://api.example.com/upload", formData, {
111
headers: { "Content-Type": "multipart/form-data" }
112
});
113
```
114
115
### PUT Requests
116
117
Update existing resources using PUT method.
118
119
```javascript { .api }
120
/**
121
* Make PUT request to specified URL
122
* @param url - Request URL
123
* @param data - Data to send in request body
124
* @param config - Optional request configuration
125
* @returns Promise resolving to response data
126
*/
127
axios.put<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
128
```
129
130
### PATCH Requests
131
132
Partially update existing resources using PATCH method.
133
134
```javascript { .api }
135
/**
136
* Make PATCH request to specified URL
137
* @param url - Request URL
138
* @param data - Data to send in request body
139
* @param config - Optional request configuration
140
* @returns Promise resolving to response data
141
*/
142
axios.patch<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
143
```
144
145
### DELETE Requests
146
147
Remove resources using DELETE method.
148
149
```javascript { .api }
150
/**
151
* Make DELETE request to specified URL
152
* @param url - Request URL
153
* @param config - Optional request configuration
154
* @returns Promise resolving to response data
155
*/
156
axios.delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
157
```
158
159
### HEAD Requests
160
161
Retrieve headers only using HEAD method.
162
163
```javascript { .api }
164
/**
165
* Make HEAD request to specified URL
166
* @param url - Request URL
167
* @param config - Optional request configuration
168
* @returns Promise resolving to response with no body
169
*/
170
axios.head<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
171
```
172
173
### OPTIONS Requests
174
175
Retrieve available methods and headers using OPTIONS method.
176
177
```javascript { .api }
178
/**
179
* Make OPTIONS request to specified URL
180
* @param url - Request URL
181
* @param config - Optional request configuration
182
* @returns Promise resolving to response data
183
*/
184
axios.options<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
185
```
186
187
### Form-Based Requests
188
189
Specialized methods for sending form data with automatic Content-Type header setting.
190
191
```javascript { .api }
192
/**
193
* Make POST request with multipart/form-data content type
194
* @param url - Request URL
195
* @param data - Form data to send
196
* @param config - Optional request configuration
197
* @returns Promise resolving to response data
198
*/
199
axios.postForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
200
201
/**
202
* Make PUT request with multipart/form-data content type
203
* @param url - Request URL
204
* @param data - Form data to send
205
* @param config - Optional request configuration
206
* @returns Promise resolving to response data
207
*/
208
axios.putForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
209
210
/**
211
* Make PATCH request with multipart/form-data content type
212
* @param url - Request URL
213
* @param data - Form data to send
214
* @param config - Optional request configuration
215
* @returns Promise resolving to response data
216
*/
217
axios.patchForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
218
```
219
220
**Usage Examples:**
221
222
```javascript
223
// Automatic form data handling
224
const uploadData = {
225
file: fileInput.files[0],
226
title: "My Document",
227
tags: ["important", "draft"]
228
};
229
230
const result = await axios.postForm("https://api.example.com/documents", uploadData);
231
```
232
233
### Response Object
234
235
All HTTP methods return a Promise that resolves to an AxiosResponse object.
236
237
```javascript { .api }
238
interface AxiosResponse<T = any, D = any> {
239
/** Response data parsed according to responseType */
240
data: T;
241
/** HTTP status code */
242
status: number;
243
/** HTTP status message */
244
statusText: string;
245
/** Response headers */
246
headers: RawAxiosResponseHeaders | AxiosResponseHeaders;
247
/** Request configuration used for this request */
248
config: InternalAxiosRequestConfig<D>;
249
/** Native request object (XMLHttpRequest, http.IncomingMessage, etc.) */
250
request?: any;
251
}
252
```
253
254
**Usage Examples:**
255
256
```javascript
257
const response = await axios.get("https://api.example.com/users");
258
259
console.log("Status:", response.status); // 200
260
console.log("Data:", response.data); // [{ id: 1, name: "John" }, ...]
261
console.log("Headers:", response.headers); // { "content-type": "application/json", ... }
262
console.log("Status Text:", response.statusText); // "OK"
263
```
264
265
## Global Properties
266
267
### Default Configuration
268
269
Access and modify default configuration for all requests.
270
271
```javascript { .api }
272
interface AxiosDefaults {
273
baseURL?: string;
274
timeout: number;
275
headers: HeadersDefaults;
276
transformRequest: AxiosRequestTransformer[];
277
transformResponse: AxiosResponseTransformer[];
278
// ... other default configurations
279
}
280
281
// Modify defaults
282
axios.defaults.baseURL = "https://api.example.com";
283
axios.defaults.timeout = 10000;
284
axios.defaults.headers.common["Authorization"] = "Bearer token123";
285
```
286
287
### Version Information
288
289
```javascript { .api }
290
// Library version string
291
axios.VERSION: string; // "1.11.0"
292
```