- Spec files
npm-axios
Describes: pkg:npm/axios@1.11.x
- Description
- Promise based HTTP client for the browser and node.js
- Author
- tessl
- Last updated
http-client.md docs/
1# HTTP Client23Core HTTP client functionality providing all standard HTTP methods with Promise-based responses and extensive configuration options.45## Capabilities67### Default Instance89The main axios export is a pre-configured instance ready for immediate use with sensible defaults.1011```javascript { .api }12/**13* Make HTTP request using configuration object14* @param config - Complete request configuration15* @returns Promise resolving to response data16*/17axios(config: AxiosRequestConfig): Promise<AxiosResponse>;1819/**20* Make HTTP request using URL and optional configuration21* @param url - Request URL22* @param config - Optional request configuration23* @returns Promise resolving to response data24*/25axios(url: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;26```2728**Usage Examples:**2930```javascript31import axios from "axios";3233// Configuration object approach34const response = await axios({35method: "post",36url: "https://api.example.com/users",37data: { name: "John", email: "john@example.com" },38headers: { "Content-Type": "application/json" }39});4041// URL with config approach42const users = await axios("https://api.example.com/users", {43method: "get",44timeout: 500045});46```4748### GET Requests4950Retrieve data from a server using GET method.5152```javascript { .api }53/**54* Make GET request to specified URL55* @param url - Request URL56* @param config - Optional request configuration57* @returns Promise resolving to response data58*/59axios.get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;60```6162**Usage Examples:**6364```javascript65// Simple GET request66const users = await axios.get("https://api.example.com/users");67console.log(users.data);6869// GET with query parameters70const filteredUsers = await axios.get("https://api.example.com/users", {71params: { role: "admin", active: true }72});7374// GET with custom headers75const profile = await axios.get("https://api.example.com/profile", {76headers: { "Authorization": "Bearer token123" }77});78```7980### POST Requests8182Send data to a server using POST method.8384```javascript { .api }85/**86* Make POST request to specified URL87* @param url - Request URL88* @param data - Data to send in request body89* @param config - Optional request configuration90* @returns Promise resolving to response data91*/92axios.post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;93```9495**Usage Examples:**9697```javascript98// POST with JSON data99const newUser = await axios.post("https://api.example.com/users", {100name: "Alice Smith",101email: "alice@example.com",102role: "user"103});104105// POST with form data106const formData = new FormData();107formData.append("file", fileInput.files[0]);108formData.append("description", "Profile image");109110const uploadResult = await axios.post("https://api.example.com/upload", formData, {111headers: { "Content-Type": "multipart/form-data" }112});113```114115### PUT Requests116117Update existing resources using PUT method.118119```javascript { .api }120/**121* Make PUT request to specified URL122* @param url - Request URL123* @param data - Data to send in request body124* @param config - Optional request configuration125* @returns Promise resolving to response data126*/127axios.put<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;128```129130### PATCH Requests131132Partially update existing resources using PATCH method.133134```javascript { .api }135/**136* Make PATCH request to specified URL137* @param url - Request URL138* @param data - Data to send in request body139* @param config - Optional request configuration140* @returns Promise resolving to response data141*/142axios.patch<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;143```144145### DELETE Requests146147Remove resources using DELETE method.148149```javascript { .api }150/**151* Make DELETE request to specified URL152* @param url - Request URL153* @param config - Optional request configuration154* @returns Promise resolving to response data155*/156axios.delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;157```158159### HEAD Requests160161Retrieve headers only using HEAD method.162163```javascript { .api }164/**165* Make HEAD request to specified URL166* @param url - Request URL167* @param config - Optional request configuration168* @returns Promise resolving to response with no body169*/170axios.head<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;171```172173### OPTIONS Requests174175Retrieve available methods and headers using OPTIONS method.176177```javascript { .api }178/**179* Make OPTIONS request to specified URL180* @param url - Request URL181* @param config - Optional request configuration182* @returns Promise resolving to response data183*/184axios.options<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;185```186187### Form-Based Requests188189Specialized methods for sending form data with automatic Content-Type header setting.190191```javascript { .api }192/**193* Make POST request with multipart/form-data content type194* @param url - Request URL195* @param data - Form data to send196* @param config - Optional request configuration197* @returns Promise resolving to response data198*/199axios.postForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;200201/**202* Make PUT request with multipart/form-data content type203* @param url - Request URL204* @param data - Form data to send205* @param config - Optional request configuration206* @returns Promise resolving to response data207*/208axios.putForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;209210/**211* Make PATCH request with multipart/form-data content type212* @param url - Request URL213* @param data - Form data to send214* @param config - Optional request configuration215* @returns Promise resolving to response data216*/217axios.patchForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;218```219220**Usage Examples:**221222```javascript223// Automatic form data handling224const uploadData = {225file: fileInput.files[0],226title: "My Document",227tags: ["important", "draft"]228};229230const result = await axios.postForm("https://api.example.com/documents", uploadData);231```232233### Response Object234235All HTTP methods return a Promise that resolves to an AxiosResponse object.236237```javascript { .api }238interface AxiosResponse<T = any, D = any> {239/** Response data parsed according to responseType */240data: T;241/** HTTP status code */242status: number;243/** HTTP status message */244statusText: string;245/** Response headers */246headers: RawAxiosResponseHeaders | AxiosResponseHeaders;247/** Request configuration used for this request */248config: InternalAxiosRequestConfig<D>;249/** Native request object (XMLHttpRequest, http.IncomingMessage, etc.) */250request?: any;251}252```253254**Usage Examples:**255256```javascript257const response = await axios.get("https://api.example.com/users");258259console.log("Status:", response.status); // 200260console.log("Data:", response.data); // [{ id: 1, name: "John" }, ...]261console.log("Headers:", response.headers); // { "content-type": "application/json", ... }262console.log("Status Text:", response.statusText); // "OK"263```264265## Global Properties266267### Default Configuration268269Access and modify default configuration for all requests.270271```javascript { .api }272interface AxiosDefaults {273baseURL?: string;274timeout: number;275headers: HeadersDefaults;276transformRequest: AxiosRequestTransformer[];277transformResponse: AxiosResponseTransformer[];278// ... other default configurations279}280281// Modify defaults282axios.defaults.baseURL = "https://api.example.com";283axios.defaults.timeout = 10000;284axios.defaults.headers.common["Authorization"] = "Bearer token123";285```286287### Version Information288289```javascript { .api }290// Library version string291axios.VERSION: string; // "1.11.0"292```