{"id":47288,"library":"complex-request-axios","title":"Complex Request Axios Adapter","description":"An official axios adapter for the complex-request library, providing a layered architecture for HTTP requests with token management, login/refresh automation, and response parsing. Current stable version is 1.1.3. It wraps complex-request's core features using axios as the underlying HTTP client, allowing full access to axios's ecosystem (interceptors, cancellation, progress events). Requires both complex-request and axios as peer dependencies. The API mirrors complex-request's BaseRequest but uses AxiosRequest instead, with optional axios-specific configuration at initialization and per-request.","status":"active","version":"1.1.3","language":"javascript","source_language":"en","source_url":"https://github.com/MarAngle/complex-request-axios","tags":["javascript","complex","ajax","fetch","require","request","axios"],"install":[{"cmd":"npm install complex-request-axios","lang":"bash","label":"npm"},{"cmd":"yarn add complex-request-axios","lang":"bash","label":"yarn"},{"cmd":"pnpm add complex-request-axios","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core library providing the request framework, rule engine, and token management","package":"complex-request","optional":false},{"reason":"Underlying HTTP client used for actual network requests","package":"axios","optional":false}],"imports":[{"note":"Named export, not default. The package exports only AxiosRequest class.","wrong":"import AxiosRequest from 'complex-request-axios'","symbol":"AxiosRequest","correct":"import { AxiosRequest } from 'complex-request-axios'"},{"note":"Rule is from complex-request package, not the adapter.","wrong":"import { Rule } from 'complex-request-axios'","symbol":"Rule","correct":"import { Rule } from 'complex-request'"},{"note":"Axios types are from the axios package itself, used for type parameters.","wrong":"import { AxiosResponse } from 'complex-request-axios'","symbol":"AxiosResponse, AxiosRequestConfig","correct":"import type { AxiosResponse, AxiosRequestConfig } from 'axios'"}],"quickstart":{"code":"import { AxiosRequest } from 'complex-request-axios';\nimport { Rule } from 'complex-request';\nimport type { AxiosResponse, AxiosRequestConfig } from 'axios';\n\nconst myRule = new Rule<AxiosResponse>({\n  prop: 'api',\n  token: {\n    data: {\n      accessToken: { location: 'header', require: true }\n    }\n  },\n  parse: (response) => {\n    const { data } = response;\n    if (data.code === 200) {\n      return { status: 'success', data: data.data };\n    } else if (data.code === 401) {\n      return { status: 'login', data: null, msg: '请先登录' };\n    } else {\n      return { status: 'fail', data: null, msg: data.message };\n    }\n  },\n  login: () => { /* login logic */ }\n});\n\nconst myRequest = new AxiosRequest({\n  baseUrl: 'https://api.example.com',\n  rule: myRule,\n  axios: { timeout: 5000 }\n});\n\nmyRequest.get({\n  url: '/user/profile',\n  local: { onUploadProgress: (e) => {} } as AxiosRequestConfig\n})\n  .then(response => console.log('User:', response.data))\n  .catch(error => console.error('Error:', error));","lang":"typescript","description":"Shows creating a Rule with token and parse logic, instantiating AxiosRequest with baseUrl and rule, and making a GET request with axios-specific config."},"warnings":[{"fix":"Use 'as AxiosRequestConfig' or define local with type AxiosRequestConfig.","message":"AxiosRequestConfig for per-request options must be cast or typed explicitly as AxiosRequestConfig, as the local property expects a generic object.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Check complex-request documentation for expected parse return shape.","message":"The parse function returns an object with 'status' field; ensure your login logic returns a similar shaped object or uses the built-in mechanisms.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade complex-request to >=1.0.0.","message":"If using complex-request versions <1.0.0, the API may differ. This adapter requires complex-request ^1.0.0.","severity":"deprecated","affected_versions":"<1.0.0"},{"fix":"Use lowercase values for location (e.g., 'header', 'body').","message":"The token location 'header' is case-sensitive; all token config values must match exactly as documented.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.1.3':34 'access':52 'adapt':4,8 'ajax':97 'allow':50 'api':72 'architectur':18 'autom':26 'axio':3,7,44,54,67,86,101 'axios-specif':85 'axiosrequest':81 'baserequest':78 'cancel':58 'client':49 'complex':1,12,38,64,75,96 'complex-request':11,37,63,74 'configur':88 'core':41 'current':30 'depend':70 'ecosystem':56 'event':60 'featur':42 'fetch':98 'full':51 'http':20,48 'initi':90 'instead':82 'interceptor':57 'javascript':95 'layer':17 'librari':14 'login/refresh':25 'manag':24 'mirror':73 'offici':6 'option':84 'pars':29 'peer':69 'per':93 'per-request':92 'progress':59 'provid':15 'request':2,13,21,39,65,76,94,100 'requir':61,99 'respons':28 'specif':87 'stabl':31 'token':23 'under':47 'use':43,80 'version':32 'wrap':36","created_at":"2026-06-07T16:50:45.027039+00:00","updated_at":"2026-06-07T16:50:45.027039+00:00","problems":[{"fix":"npm install complex-request-axios axios complex-request","cause":"Package not installed or missing from node_modules.","error":"Cannot find module 'complex-request-axios'"},{"fix":"Use import { AxiosRequest } from 'complex-request-axios'","cause":"Using default import instead of named import.","error":"Attempted import error: 'AxiosRequest' is not exported from 'complex-request-axios'"},{"fix":"import { Rule } from 'complex-request'","cause":"Rule imported from wrong package or not imported at all.","error":"TypeError: Rule is not a constructor"},{"fix":"Ensure complex-request is installed and at version ^1.0.0","cause":"Missing complex-request dependency or incorrect version.","error":"Property 'get' does not exist on type 'AxiosRequest<...>'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/MarAngle/complex-request-axios#readme","github":"https://github.com/MarAngle/complex-request-axios","docs":null,"changelog":null,"pypi":null,"npm":"complex-request-axios","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}