or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

cancellation.mddata-transformation.mderror-handling.mdheaders.mdhttp-client.mdindex.mdinstance-management.mdinterceptors.md
tile.json

http-client.mddocs/

HTTP Client

Core HTTP client functionality providing all standard HTTP methods with Promise-based responses and extensive configuration options.

Capabilities

Default Instance

The main axios export is a pre-configured instance ready for immediate use with sensible defaults.

/**
 * Make HTTP request using configuration object
 * @param config - Complete request configuration
 * @returns Promise resolving to response data
 */
axios(config: AxiosRequestConfig): Promise<AxiosResponse>;

/**
 * Make HTTP request using URL and optional configuration
 * @param url - Request URL
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios(url: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;

Usage Examples:

import axios from "axios";

// Configuration object approach
const response = await axios({
  method: "post",
  url: "https://api.example.com/users",
  data: { name: "John", email: "john@example.com" },
  headers: { "Content-Type": "application/json" }
});

// URL with config approach
const users = await axios("https://api.example.com/users", {
  method: "get",
  timeout: 5000
});

GET Requests

Retrieve data from a server using GET method.

/**
 * Make GET request to specified URL
 * @param url - Request URL
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;

Usage Examples:

// Simple GET request
const users = await axios.get("https://api.example.com/users");
console.log(users.data);

// GET with query parameters
const filteredUsers = await axios.get("https://api.example.com/users", {
  params: { role: "admin", active: true }
});

// GET with custom headers
const profile = await axios.get("https://api.example.com/profile", {
  headers: { "Authorization": "Bearer token123" }
});

POST Requests

Send data to a server using POST method.

/**
 * Make POST request to specified URL
 * @param url - Request URL
 * @param data - Data to send in request body
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;

Usage Examples:

// POST with JSON data
const newUser = await axios.post("https://api.example.com/users", {
  name: "Alice Smith",
  email: "alice@example.com",
  role: "user"
});

// POST with form data
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("description", "Profile image");

const uploadResult = await axios.post("https://api.example.com/upload", formData, {
  headers: { "Content-Type": "multipart/form-data" }
});

PUT Requests

Update existing resources using PUT method.

/**
 * Make PUT request to specified URL
 * @param url - Request URL
 * @param data - Data to send in request body
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.put<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;

PATCH Requests

Partially update existing resources using PATCH method.

/**
 * Make PATCH request to specified URL
 * @param url - Request URL
 * @param data - Data to send in request body
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.patch<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;

DELETE Requests

Remove resources using DELETE method.

/**
 * Make DELETE request to specified URL
 * @param url - Request URL
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;

HEAD Requests

Retrieve headers only using HEAD method.

/**
 * Make HEAD request to specified URL
 * @param url - Request URL
 * @param config - Optional request configuration
 * @returns Promise resolving to response with no body
 */
axios.head<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;

OPTIONS Requests

Retrieve available methods and headers using OPTIONS method.

/**
 * Make OPTIONS request to specified URL
 * @param url - Request URL
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.options<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;

Form-Based Requests

Specialized methods for sending form data with automatic Content-Type header setting.

/**
 * Make POST request with multipart/form-data content type
 * @param url - Request URL
 * @param data - Form data to send
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.postForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;

/**
 * Make PUT request with multipart/form-data content type
 * @param url - Request URL
 * @param data - Form data to send
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.putForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;

/**
 * Make PATCH request with multipart/form-data content type
 * @param url - Request URL
 * @param data - Form data to send
 * @param config - Optional request configuration
 * @returns Promise resolving to response data
 */
axios.patchForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;

Usage Examples:

// Automatic form data handling
const uploadData = {
  file: fileInput.files[0],
  title: "My Document",
  tags: ["important", "draft"]
};

const result = await axios.postForm("https://api.example.com/documents", uploadData);

Response Object

All HTTP methods return a Promise that resolves to an AxiosResponse object.

interface AxiosResponse<T = any, D = any> {
  /** Response data parsed according to responseType */
  data: T;
  /** HTTP status code */
  status: number;
  /** HTTP status message */
  statusText: string;
  /** Response headers */
  headers: RawAxiosResponseHeaders | AxiosResponseHeaders;
  /** Request configuration used for this request */
  config: InternalAxiosRequestConfig<D>;
  /** Native request object (XMLHttpRequest, http.IncomingMessage, etc.) */
  request?: any;
}

Usage Examples:

const response = await axios.get("https://api.example.com/users");

console.log("Status:", response.status);        // 200
console.log("Data:", response.data);            // [{ id: 1, name: "John" }, ...]
console.log("Headers:", response.headers);      // { "content-type": "application/json", ... }
console.log("Status Text:", response.statusText); // "OK"

Global Properties

Default Configuration

Access and modify default configuration for all requests.

interface AxiosDefaults {
  baseURL?: string;
  timeout: number;
  headers: HeadersDefaults;
  transformRequest: AxiosRequestTransformer[];
  transformResponse: AxiosResponseTransformer[];
  // ... other default configurations
}

// Modify defaults
axios.defaults.baseURL = "https://api.example.com";
axios.defaults.timeout = 10000;
axios.defaults.headers.common["Authorization"] = "Bearer token123";

Version Information

// Library version string
axios.VERSION: string; // "1.11.0"