cloudstructs 0.12.8 β 0.12.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +5 -5
- package/assets/slack-textract/detect.lambda/index.js +437 -344
- package/assets/ssl-server-test/analyze.lambda/index.js +51 -31
- package/assets/toolkit-cleaner/clean.lambda/index.js +51 -31
- package/lib/codecommit-mirror/index.js +2 -2
- package/lib/dmarc/index.js +1 -1
- package/lib/ecs-service-roller/index.js +2 -2
- package/lib/email-receiver/receiver.js +1 -1
- package/lib/mjml-template/index.js +1 -1
- package/lib/saml-identity-provider/index.js +2 -2
- package/lib/slack-app/manifest.js +1 -1
- package/lib/slack-app/slack-app.js +2 -2
- package/lib/slack-events/index.js +1 -1
- package/lib/slack-textract/index.js +1 -1
- package/lib/ssl-server-test/index.js +1 -1
- package/lib/state-machine-cr-provider/index.js +1 -1
- package/lib/static-website/index.js +1 -1
- package/lib/toolkit-cleaner/index.js +1 -1
- package/lib/url-shortener/index.js +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/README.md +25 -5
- package/node_modules/@aws/durable-execution-sdk-js/dist/index.mjs +101 -33
- package/node_modules/@aws/durable-execution-sdk-js/dist/index.mjs.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-cjs/index.js +101 -33
- package/node_modules/@aws/durable-execution-sdk-js/dist-cjs/index.js.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.d.ts.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/index.d.ts +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/index.d.ts.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/types/step.d.ts +45 -0
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/types/step.d.ts.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/utils/checkpoint/checkpoint-manager.d.ts +6 -0
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/utils/checkpoint/checkpoint-manager.d.ts.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/dist-types/with-durable-execution.d.ts.map +1 -1
- package/node_modules/@aws/durable-execution-sdk-js/package.json +1 -2
- package/node_modules/@aws-sdk/client-lambda/dist-cjs/index.js +287 -3988
- package/node_modules/@aws-sdk/client-lambda/dist-cjs/models/LambdaServiceException.js +12 -0
- package/node_modules/@aws-sdk/client-lambda/dist-cjs/models/errors.js +730 -0
- package/node_modules/@aws-sdk/client-lambda/dist-cjs/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/client-lambda/dist-cjs/schemas/schemas_0.js +2680 -0
- package/node_modules/@aws-sdk/client-lambda/dist-es/Lambda.js +49 -1
- package/node_modules/@aws-sdk/client-lambda/dist-es/models/enums.js +7 -0
- package/node_modules/@aws-sdk/client-lambda/dist-es/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/client-lambda/dist-es/schemas/schemas_0.js +320 -308
- package/node_modules/@aws-sdk/client-lambda/dist-types/Lambda.d.ts +150 -1
- package/node_modules/@aws-sdk/client-lambda/dist-types/commands/CreateEventSourceMappingCommand.d.ts +8 -2
- package/node_modules/@aws-sdk/client-lambda/dist-types/commands/DeleteEventSourceMappingCommand.d.ts +4 -1
- package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetEventSourceMappingCommand.d.ts +4 -1
- package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetProvisionedConcurrencyConfigCommand.d.ts +4 -4
- package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListEventSourceMappingsCommand.d.ts +4 -1
- package/node_modules/@aws-sdk/client-lambda/dist-types/commands/UpdateEventSourceMappingCommand.d.ts +8 -2
- package/node_modules/@aws-sdk/client-lambda/dist-types/models/enums.d.ts +15 -0
- package/node_modules/@aws-sdk/client-lambda/dist-types/models/models_0.d.ts +28 -2
- package/node_modules/@aws-sdk/client-lambda/dist-types/schemas/schemas_0.d.ts +53 -45
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/Lambda.d.ts +173 -1
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/enums.d.ts +9 -0
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/models_0.d.ts +7 -0
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/schemas/schemas_0.d.ts +48 -45
- package/node_modules/@aws-sdk/client-lambda/package.json +20 -20
- package/node_modules/@aws-sdk/client-sso/dist-cjs/index.js +32 -239
- package/node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js +12 -0
- package/node_modules/@aws-sdk/client-sso/dist-cjs/models/errors.js +56 -0
- package/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/client-sso/dist-cjs/schemas/schemas_0.js +161 -0
- package/node_modules/@aws-sdk/client-sso/dist-es/SSO.js +7 -1
- package/node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/client-sso/dist-es/schemas/schemas_0.js +32 -26
- package/node_modules/@aws-sdk/client-sso/dist-types/SSO.d.ts +15 -1
- package/node_modules/@aws-sdk/client-sso/dist-types/schemas/schemas_0.d.ts +12 -5
- package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/SSO.d.ts +19 -1
- package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/schemas/schemas_0.d.ts +7 -5
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/LICENSE +201 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/README.md +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +415 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +267 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/aws.js +10 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/index.js +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js +3 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js +25 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js +18 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js +41 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +267 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/resolveDefaultAwsRegionalEndpointsConfig.js +21 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/aws.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/index.d.ts +3 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/isVirtualHostableS3Bucket.d.ts +5 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/parseArn.d.ts +7 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/partition.d.ts +38 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/lib/isIpAddress.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/resolveDefaultAwsRegionalEndpointsConfig.d.ts +56 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/resolveEndpoint.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/aws.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/index.d.ts +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/index.d.ts +3 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/isVirtualHostableS3Bucket.d.ts +4 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/parseArn.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/partition.d.ts +28 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/isIpAddress.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/resolveDefaultAwsRegionalEndpointsConfig.d.ts +35 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/resolveEndpoint.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/EndpointError.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/EndpointRuleObject.d.ts +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/ErrorRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/RuleSetObject.d.ts +5 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/TreeRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/shared.d.ts +12 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/EndpointError.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/EndpointRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/ErrorRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/RuleSetObject.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/TreeRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/dist-types/types/shared.d.ts +1 -0
- package/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints/package.json +60 -0
- package/node_modules/@aws-sdk/client-sso/package.json +18 -18
- package/node_modules/@aws-sdk/core/account-id-endpoint.js +0 -1
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +30 -50
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +30 -50
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +1 -2
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +1 -2
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/experimental/SinglePassJsonShapeSerializer.js +1 -2
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js +1 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js +15 -8
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +11 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js +1 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/QuerySerializerSettings.d.ts +4 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/QueryShapeSerializer.d.ts +1 -1
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/QuerySerializerSettings.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/QueryShapeSerializer.d.ts +6 -1
- package/node_modules/@aws-sdk/core/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +12 -12
- package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-node/README.md +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +8 -2
- package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +8 -2
- package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
- package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-logger/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/LICENSE +201 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/README.md +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +415 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +267 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/aws.js +10 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/index.js +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js +3 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js +25 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js +18 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js +41 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +267 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/resolveDefaultAwsRegionalEndpointsConfig.js +21 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/aws.d.ts +2 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/index.d.ts +3 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/isVirtualHostableS3Bucket.d.ts +5 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/parseArn.d.ts +7 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/partition.d.ts +38 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/lib/isIpAddress.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/resolveDefaultAwsRegionalEndpointsConfig.d.ts +56 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/resolveEndpoint.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/aws.d.ts +2 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/index.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/index.d.ts +3 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/isVirtualHostableS3Bucket.d.ts +4 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/parseArn.d.ts +2 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/partition.d.ts +28 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/isIpAddress.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/resolveDefaultAwsRegionalEndpointsConfig.d.ts +35 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/resolveEndpoint.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/EndpointError.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/EndpointRuleObject.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/ErrorRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/RuleSetObject.d.ts +5 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/TreeRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/shared.d.ts +12 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/EndpointError.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/EndpointRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/ErrorRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/RuleSetObject.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/TreeRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/dist-types/types/shared.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints/package.json +60 -0
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +7 -7
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +20 -198
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/models/SigninServiceException.js +12 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/models/errors.js +64 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/schemas/schemas_0.js +125 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +20 -347
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/models/SSOOIDCServiceException.js +12 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/models/errors.js +195 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/schemas/schemas_0.js +140 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +21 -308
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/STSServiceException.js +12 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/errors.js +95 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/schemas/schemas_0.js +195 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthSchemeProvider.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js +15 -12
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js +40 -37
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js +60 -57
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +4 -3
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/auth/httpAuthSchemeProvider.d.ts +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/schemas/schemas_0.d.ts +11 -4
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDC.d.ts +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +4 -3
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/auth/httpAuthSchemeProvider.d.ts +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/schemas/schemas_0.d.ts +10 -3
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STS.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +5 -4
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/auth/httpAuthSchemeProvider.d.ts +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/schemas/schemas_0.d.ts +15 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/SigninClient.d.ts +5 -3
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/schemas/schemas_0.d.ts +6 -4
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/schemas/schemas_0.d.ts +5 -3
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/STSClient.d.ts +5 -3
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/auth/httpAuthSchemeProvider.d.ts +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/schemas/schemas_0.d.ts +10 -8
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/LICENSE +201 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/README.md +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +415 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +267 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/aws.js +10 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/index.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js +3 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js +25 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js +18 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js +41 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +267 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/resolveDefaultAwsRegionalEndpointsConfig.js +21 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/aws.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/index.d.ts +3 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/isVirtualHostableS3Bucket.d.ts +5 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/parseArn.d.ts +7 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/partition.d.ts +38 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/lib/isIpAddress.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/resolveDefaultAwsRegionalEndpointsConfig.d.ts +56 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/resolveEndpoint.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/aws.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/index.d.ts +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/index.d.ts +3 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/isVirtualHostableS3Bucket.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/parseArn.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/partition.d.ts +28 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/isIpAddress.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/resolveDefaultAwsRegionalEndpointsConfig.d.ts +35 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/resolveEndpoint.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/EndpointError.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/EndpointRuleObject.d.ts +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/ErrorRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/RuleSetObject.d.ts +5 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/TreeRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/shared.d.ts +12 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/EndpointError.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/EndpointRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/ErrorRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/RuleSetObject.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/TreeRuleObject.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/index.d.ts +6 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/dist-types/types/shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints/package.json +60 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +18 -18
- package/node_modules/@aws-sdk/region-config-resolver/package.json +4 -4
- package/node_modules/@aws-sdk/token-providers/package.json +4 -4
- package/node_modules/@aws-sdk/types/dist-types/blob/blob-types.d.ts +1 -1
- package/node_modules/@aws-sdk/types/package.json +3 -3
- package/node_modules/@aws-sdk/util-endpoints/package.json +2 -2
- package/node_modules/@aws-sdk/util-locate-window/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +4 -4
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +16 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +7 -6
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +4 -2
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +2 -2
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +4 -4
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +297 -287
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +55 -22
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +4 -4
- package/node_modules/@aws-sdk/xml-builder/package.json +5 -5
- package/node_modules/@slack/logger/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/logger/node_modules/@types/node/child_process.d.ts +6 -6
- package/node_modules/@slack/logger/node_modules/@types/node/crypto.d.ts +4 -4
- package/node_modules/@slack/logger/node_modules/@types/node/http.d.ts +35 -11
- package/node_modules/@slack/logger/node_modules/@types/node/https.d.ts +6 -0
- package/node_modules/@slack/logger/node_modules/@types/node/net.d.ts +1 -1
- package/node_modules/@slack/logger/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/logger/node_modules/@types/node/perf_hooks.d.ts +111 -89
- package/node_modules/@slack/logger/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@slack/logger/node_modules/@types/node/sqlite.d.ts +18 -0
- package/node_modules/@slack/logger/node_modules/@types/node/test.d.ts +2 -1
- package/node_modules/@slack/logger/node_modules/@types/node/util.d.ts +10 -1
- package/node_modules/@slack/logger/node_modules/@types/node/v8.d.ts +4 -0
- package/node_modules/@slack/logger/node_modules/@types/node/vm.d.ts +42 -14
- package/node_modules/@slack/logger/node_modules/@types/node/web-globals/fetch.d.ts +15 -0
- package/node_modules/@slack/types/dist/block-kit/block-elements.d.ts +18 -0
- package/node_modules/@slack/types/dist/block-kit/block-elements.d.ts.map +1 -1
- package/node_modules/@slack/types/dist/block-kit/blocks.d.ts +54 -2
- package/node_modules/@slack/types/dist/block-kit/blocks.d.ts.map +1 -1
- package/node_modules/@slack/types/dist/chunk.d.ts +42 -0
- package/node_modules/@slack/types/dist/chunk.d.ts.map +1 -0
- package/node_modules/@slack/types/dist/chunk.js +3 -0
- package/node_modules/@slack/types/dist/chunk.js.map +1 -0
- package/node_modules/@slack/types/dist/events/app.d.ts +53 -0
- package/node_modules/@slack/types/dist/events/app.d.ts.map +1 -1
- package/node_modules/@slack/types/dist/events/member.d.ts +1 -0
- package/node_modules/@slack/types/dist/events/member.d.ts.map +1 -1
- package/node_modules/@slack/types/dist/events/user.d.ts +1 -0
- package/node_modules/@slack/types/dist/events/user.d.ts.map +1 -1
- package/node_modules/@slack/types/dist/index.d.ts +1 -0
- package/node_modules/@slack/types/dist/index.d.ts.map +1 -1
- package/node_modules/@slack/types/dist/index.js +1 -0
- package/node_modules/@slack/types/dist/index.js.map +1 -1
- package/node_modules/@slack/types/package.json +8 -8
- package/node_modules/@slack/web-api/dist/WebClient.d.ts.map +1 -1
- package/node_modules/@slack/web-api/dist/WebClient.js.map +1 -1
- package/node_modules/@slack/web-api/dist/chat-stream.d.ts.map +1 -1
- package/node_modules/@slack/web-api/dist/chat-stream.js +48 -12
- package/node_modules/@slack/web-api/dist/chat-stream.js.map +1 -1
- package/node_modules/@slack/web-api/dist/index.d.ts +1 -0
- package/node_modules/@slack/web-api/dist/index.d.ts.map +1 -1
- package/node_modules/@slack/web-api/dist/index.js +3 -1
- package/node_modules/@slack/web-api/dist/index.js.map +1 -1
- package/node_modules/@slack/web-api/dist/types/request/canvas.d.ts +1 -1
- package/node_modules/@slack/web-api/dist/types/request/canvas.d.ts.map +1 -1
- package/node_modules/@slack/web-api/dist/types/request/chat.d.ts +21 -2
- package/node_modules/@slack/web-api/dist/types/request/chat.d.ts.map +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/child_process.d.ts +6 -6
- package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +4 -4
- package/node_modules/@slack/web-api/node_modules/@types/node/http.d.ts +35 -11
- package/node_modules/@slack/web-api/node_modules/@types/node/https.d.ts +6 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/net.d.ts +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/perf_hooks.d.ts +111 -89
- package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/sqlite.d.ts +18 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +2 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/util.d.ts +10 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/v8.d.ts +4 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/vm.d.ts +42 -14
- package/node_modules/@slack/web-api/node_modules/@types/node/web-globals/fetch.d.ts +15 -0
- package/node_modules/@slack/web-api/package.json +10 -10
- package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +13 -10
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +5 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +5 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +31 -6
- package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +15 -11
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +5 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +6 -1
- package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +24 -5
- package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +7 -1
- package/node_modules/@smithy/core/dist-types/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +7 -1
- package/node_modules/@smithy/core/dist-types/submodules/protocols/HttpBindingProtocol.d.ts +5 -1
- package/node_modules/@smithy/core/dist-types/submodules/protocols/HttpProtocol.d.ts +14 -1
- package/node_modules/@smithy/core/dist-types/submodules/protocols/RpcProtocol.d.ts +5 -0
- package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +8 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +7 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/HttpBindingProtocol.d.ts +5 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/HttpProtocol.d.ts +14 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/RpcProtocol.d.ts +5 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/TypeRegistry.d.ts +8 -1
- package/node_modules/@smithy/core/package.json +2 -2
- package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
- package/node_modules/@smithy/middleware-retry/package.json +2 -2
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -4
- package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +2 -2
- package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +9 -2
- package/node_modules/@smithy/node-http-handler/package.json +5 -5
- package/node_modules/@smithy/smithy-client/dist-cjs/index.js +29 -3
- package/node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js +29 -3
- package/node_modules/@smithy/smithy-client/dist-types/create-aggregated-client.d.ts +8 -1
- package/node_modules/@smithy/smithy-client/dist-types/ts3.4/create-aggregated-client.d.ts +8 -1
- package/node_modules/@smithy/smithy-client/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-stream/package.json +6 -6
- package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/child_process.d.ts +6 -6
- package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +4 -4
- package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +35 -11
- package/node_modules/@types/cacheable-request/node_modules/@types/node/https.d.ts +6 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/net.d.ts +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/perf_hooks.d.ts +111 -89
- package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/sqlite.d.ts +18 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +2 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/util.d.ts +10 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/v8.d.ts +4 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/vm.d.ts +42 -14
- package/node_modules/@types/cacheable-request/node_modules/@types/node/web-globals/fetch.d.ts +15 -0
- package/node_modules/@types/http-cache-semantics/README.md +1 -1
- package/node_modules/@types/http-cache-semantics/index.d.ts +97 -11
- package/node_modules/@types/http-cache-semantics/package.json +4 -3
- package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/child_process.d.ts +6 -6
- package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +4 -4
- package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +35 -11
- package/node_modules/@types/keyv/node_modules/@types/node/https.d.ts +6 -0
- package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +111 -89
- package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/sqlite.d.ts +18 -0
- package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +2 -1
- package/node_modules/@types/keyv/node_modules/@types/node/util.d.ts +10 -1
- package/node_modules/@types/keyv/node_modules/@types/node/v8.d.ts +4 -0
- package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +42 -14
- package/node_modules/@types/keyv/node_modules/@types/node/web-globals/fetch.d.ts +15 -0
- package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/child_process.d.ts +6 -6
- package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +4 -4
- package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +35 -11
- package/node_modules/@types/responselike/node_modules/@types/node/https.d.ts +6 -0
- package/node_modules/@types/responselike/node_modules/@types/node/net.d.ts +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/responselike/node_modules/@types/node/perf_hooks.d.ts +111 -89
- package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/sqlite.d.ts +18 -0
- package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +2 -1
- package/node_modules/@types/responselike/node_modules/@types/node/util.d.ts +10 -1
- package/node_modules/@types/responselike/node_modules/@types/node/v8.d.ts +4 -0
- package/node_modules/@types/responselike/node_modules/@types/node/vm.d.ts +42 -14
- package/node_modules/@types/responselike/node_modules/@types/node/web-globals/fetch.d.ts +15 -0
- package/node_modules/axios/CHANGELOG.md +296 -239
- package/node_modules/axios/MIGRATION_GUIDE.md +876 -2
- package/node_modules/axios/README.md +584 -447
- package/node_modules/axios/dist/axios.js +779 -897
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +4 -2
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +353 -283
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +353 -283
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +388 -315
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +22 -3
- package/node_modules/axios/index.d.ts +341 -116
- package/node_modules/axios/lib/adapters/README.md +1 -1
- package/node_modules/axios/lib/adapters/fetch.js +2 -2
- package/node_modules/axios/lib/adapters/http.js +13 -10
- package/node_modules/axios/lib/adapters/xhr.js +2 -2
- package/node_modules/axios/lib/cancel/CanceledError.js +15 -18
- package/node_modules/axios/lib/core/Axios.js +12 -3
- package/node_modules/axios/lib/core/AxiosError.js +65 -102
- package/node_modules/axios/lib/core/InterceptorManager.js +2 -1
- package/node_modules/axios/lib/core/mergeConfig.js +24 -11
- package/node_modules/axios/lib/core/transformData.js +1 -1
- package/node_modules/axios/lib/defaults/transitional.js +2 -1
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/buildURL.js +7 -10
- package/node_modules/axios/lib/helpers/composeSignals.js +1 -1
- package/node_modules/axios/lib/helpers/cookies.js +1 -1
- package/node_modules/axios/lib/helpers/isAbsoluteURL.js +5 -0
- package/node_modules/axios/lib/helpers/isAxiosError.js +1 -1
- package/node_modules/axios/lib/helpers/parseHeaders.js +1 -1
- package/node_modules/axios/lib/helpers/spread.js +1 -1
- package/node_modules/axios/lib/utils.js +221 -140
- package/node_modules/axios/package.json +49 -68
- package/node_modules/bowser/README.md +72 -3
- package/node_modules/bowser/bundled.js +1 -1
- package/node_modules/bowser/es5.js +1 -1
- package/node_modules/bowser/index.d.ts +44 -6
- package/node_modules/bowser/package.json +10 -5
- package/node_modules/bowser/src/bowser.js +24 -8
- package/node_modules/bowser/src/constants.js +8 -0
- package/node_modules/bowser/src/parser-browsers.js +89 -0
- package/node_modules/bowser/src/parser-platforms.js +42 -0
- package/node_modules/bowser/src/parser.js +86 -5
- package/node_modules/semver/README.md +3 -2
- package/node_modules/semver/bin/semver.js +1 -1
- package/node_modules/semver/functions/diff.js +1 -1
- package/node_modules/semver/internal/re.js +2 -2
- package/node_modules/semver/package.json +4 -4
- package/node_modules/semver/ranges/subset.js +1 -1
- package/package.json +20 -20
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/structIterator.js +0 -40
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/structIterator.d.ts +0 -27
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/structIterator.d.ts +0 -12
- package/node_modules/bowser/CHANGELOG.md +0 -218
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
<h3 align="center"> π₯ Gold sponsors <br> </h3> <table align="center" width="100%"><tr width="33.333333333333336%"><td align="center" width="33.333333333333336%"> <a href="https://stytch.com/?utm_source=oss-sponsorship&utm_medium=paid_sponsorship&utm_content=website-link&utm_campaign=axios-http" style="padding: 10px; display: inline-block" target="_blank"> <picture> <source width="200px" height="38px" media="(prefers-color-scheme: dark)" srcset="https://axios-http.com/assets/sponsors/stytch_white.png"> <img width="200px" height="38px" src="https://axios-http.com/assets/sponsors/stytch.png" alt="Stytch"/> </picture> </a> <p align="center" title="API-first authentication, authorization, and fraud prevention">API-first authentication, authorization, and fraud prevention</p> <p align="center"> <a href="https://stytch.com/?utm_source=oss-sponsorship&utm_medium=paid_sponsorship&utm_content=website-link&utm_campaign=axios-http" target="_blank"><b>Website</b></a> | <a href="https://stytch.com/docs?utm_source=oss-sponsorship&utm_medium=paid_sponsorship&utm_content=docs-link&utm_campaign=axios-http" target="_blank"><b>Documentation</b></a> | <a href="https://github.com/stytchauth/stytch-node?utm_source=oss-sponsorship&utm_medium=paid_sponsorship&utm_content=node-sdk&utm_campaign=axios-http" target="_blank"><b>Node.js</b></a> </p>
|
|
3
|
-
</td><td align="center" width="33.333333333333336%"> <a href="https://www.principal.com/about-us?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="133px" height="43px" src="https://axios-http.com/assets/sponsors/principal.svg" alt="Principal Financial Group"/> </a> <p align="center" title="Weβre bound by one common purpose: to give you the financial tools, resources and information you need to live your best life.">Weβre bound by one common purpose: to give you the financial tools, resources and information you ne...</p> <p align="center"> <a href="https://www.principal.com/about-us?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>www.principal.com</b></a> </p>
|
|
1
|
+
<h3 align="center"> π₯ Gold sponsors <br> </h3> <table align="center" width="100%"><tr width="33.333333333333336%"><td align="center" width="33.333333333333336%"> <a href="https://www.principal.com/about-us?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="133px" height="43px" src="https://axios-http.com/assets/sponsors/principal.svg" alt="Principal Financial Group"/> </a> <p align="center" title="Weβre bound by one common purpose: to give you the financial tools, resources and information you need to live your best life.">Weβre bound by one common purpose: to give you the financial tools, resources and information you ne...</p> <p align="center"> <a href="https://www.principal.com/about-us?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>www.principal.com</b></a> </p>
|
|
4
2
|
</td><td align="center" width="33.333333333333336%"> <a href="https://twicsy.com/buy-instagram-followers?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="85px" height="70px" src="https://axios-http.com/assets/sponsors/opencollective/dfa9670ad5e66eea17315332453c7f4e3a3b5905.png" alt="Buy Instagram Followers Twicsy"/> </a> <p align="center" title="Buy real Instagram followers from Twicsy starting at only $2.97. Twicsy has been voted the best site to buy followers from the likes of US Magazine.">Buy real Instagram followers from Twicsy starting at only $2.97. Twicsy has been voted the best site...</p> <p align="center"> <a href="https://twicsy.com/buy-instagram-followers?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>twicsy.com</b></a> </p>
|
|
5
|
-
</td
|
|
6
|
-
</td><td align="center" width="33.333333333333336%"> <a href="https://route4me.com/?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <picture> <source width="200px" height="51px" media="(prefers-color-scheme: dark)" srcset="https://axios-http.com/assets/sponsors/route4me_white.png"> <img width="200px" height="51px" src="https://axios-http.com/assets/sponsors/route4me.png" alt="Route4Me"/> </picture> </a> <p align="center" title="Best Route Planning And Route Optimization Software">Best Route Planning And Route Optimization Software</p> <p align="center"> <a href="https://route4me.com/platform/route-optimization-software?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>Explore</b></a> | <a href="https://route4me.com/platform/marketplace/pricing?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>Free Trial</b></a> | <a href="https://route4me.com/contact?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>Contact</b></a> </p>
|
|
3
|
+
</td><td align="center" width="33.333333333333336%"> <a href="https://www.descope.com/?utm_source=axios&utm_medium=referral&utm_campaign=axios-oss-sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <picture> <source width="200px" height="52px" media="(prefers-color-scheme: dark)" srcset="https://axios-http.com/assets/sponsors/descope_white.png"> <img width="200px" height="52px" src="https://axios-http.com/assets/sponsors/descope.png" alt="Descope"/> </picture> </a> <p align="center" title="Hi, we're Descope! We are building something in the authentication space for app developers and canβt wait to place it in your hands.">Hi, we're Descope! We are building something in the authentication space for app developers and...</p> <p align="center"> <a href="https://www.descope.com/?utm_source=axios&utm_medium=referral&utm_campaign=axios-oss-sponsorship" target="_blank"><b>Website</b></a> | <a href="https://docs.descope.com/?utm_source=axios&utm_medium=referral&utm_campaign=axios-oss-sponsorship" target="_blank"><b>Docs</b></a> | <a href="https://www.descope.com/community?utm_source=axios&utm_medium=referral&utm_campaign=axios-oss-sponsorship" target="_blank"><b>Community</b></a> </p>
|
|
4
|
+
</td></tr><tr width="33.333333333333336%"><td align="center" width="33.333333333333336%"> <a href="https://route4me.com/?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <picture> <source width="200px" height="51px" media="(prefers-color-scheme: dark)" srcset="https://axios-http.com/assets/sponsors/route4me_white.png"> <img width="200px" height="51px" src="https://axios-http.com/assets/sponsors/route4me.png" alt="Route4Me"/> </picture> </a> <p align="center" title="Best Route Planning And Route Optimization Software">Best Route Planning And Route Optimization Software</p> <p align="center"> <a href="https://route4me.com/platform/route-optimization-software?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>Explore</b></a> | <a href="https://route4me.com/platform/marketplace/pricing?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>Free Trial</b></a> | <a href="https://route4me.com/contact?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>Contact</b></a> </p>
|
|
7
5
|
</td><td align="center" width="33.333333333333336%"> <a href="https://buzzoid.com/buy-instagram-followers/?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="62px" height="70px" src="https://axios-http.com/assets/sponsors/opencollective/e1625cb54e10ee40180c99d1495a462e9d6664a4.png" alt="Buzzoid - Buy Instagram Followers"/> </a> <p align="center" title="At Buzzoid, you can buy Instagram followers quickly, safely, and easily with just a few clicks. Rated world's #1 IG service since 2012.">At Buzzoid, you can buy Instagram followers quickly, safely, and easily with just a few clicks. Rate...</p> <p align="center"> <a href="https://buzzoid.com/buy-instagram-followers/?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>buzzoid.com</b></a> </p>
|
|
8
|
-
</td
|
|
9
|
-
</td><td align="center" width="33.333333333333336%"> <a href="https://requestly.com/?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="71px" height="70px" src="https://axios-http.com/assets/sponsors/opencollective/16450b4dc0deb9dab5a511bf2bc8b8b4ac33412f.png" alt="Requestly"/> </a> <p align="center" title="A lightweight open-source API Development, Testing & Mocking platform">A lightweight open-source API Development, Testing & Mocking platform</p> <p align="center"> <a href="https://requestly.com/?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>requestly.com</b></a> </p>
|
|
6
|
+
</td><td align="center" width="33.333333333333336%"> <a href="https://poprey.com/?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="70px" height="70px" src="https://axios-http.com/assets/sponsors/opencollective/e699ec99f7df3a203ddbc49d3c7712a907e628ea.png" alt="Poprey - Buy Instagram Likes"/> </a> <p align="center" title="Buy Instagram Likes">Buy Instagram Likes</p> <p align="center"> <a href="https://poprey.com/?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>poprey.com</b></a> </p>
|
|
7
|
+
</td></tr><tr width="33.333333333333336%"><td align="center" width="33.333333333333336%"> <a href="https://requestly.com/?utm_source=axios&utm_medium=sponsorlist&utm_campaign=sponsorship" style="padding: 10px; display: inline-block" target="_blank"> <img width="71px" height="70px" src="https://axios-http.com/assets/sponsors/opencollective/16450b4dc0deb9dab5a511bf2bc8b8b4ac33412f.png" alt="Requestly"/> </a> <p align="center" title="A lightweight open-source API Development, Testing & Mocking platform">A lightweight open-source API Development, Testing & Mocking platform</p> <p align="center"> <a href="https://requestly.com/?utm_source=axios&utm_medium=readme_sponsorlist&utm_campaign=sponsorship" target="_blank"><b>requestly.com</b></a> </p>
|
|
8
|
+
</td><td align="center" width="33.333333333333336%"> <a href="https://opencollective.com/axios/contribute" target="_blank" >π Become a sponsor</a>
|
|
10
9
|
</td><td align="center" width="33.333333333333336%"> <a href="https://opencollective.com/axios/contribute" target="_blank" >π Become a sponsor</a>
|
|
11
10
|
</td></tr></table>
|
|
12
11
|
|
|
13
12
|
<!--<div>marker</div>-->
|
|
13
|
+
|
|
14
14
|
<br><br>
|
|
15
|
+
|
|
15
16
|
<div align="center">
|
|
16
17
|
<a href="https://axios-http.com"><img src="https://axios-http.com/assets/logo.svg" alt="Axios" /></a><br>
|
|
17
18
|
</div>
|
|
@@ -38,78 +39,76 @@
|
|
|
38
39
|
[](https://snyk.io/test/npm/axios)
|
|
39
40
|
[](CONTRIBUTORS.md)
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
42
|
</div>
|
|
45
43
|
|
|
46
44
|
## Table of Contents
|
|
47
45
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- [
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- [
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- [
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
46
|
+
- [Features](#features)
|
|
47
|
+
- [Browser Support](#browser-support)
|
|
48
|
+
- [Installing](#installing)
|
|
49
|
+
- [Package manager](#package-manager)
|
|
50
|
+
- [CDN](#cdn)
|
|
51
|
+
- [Example](#example)
|
|
52
|
+
- [Axios API](#axios-api)
|
|
53
|
+
- [Request method aliases](#request-method-aliases)
|
|
54
|
+
- [Concurrency π](#concurrency-deprecated)
|
|
55
|
+
- [Creating an instance](#creating-an-instance)
|
|
56
|
+
- [Instance methods](#instance-methods)
|
|
57
|
+
- [Request Config](#request-config)
|
|
58
|
+
- [Response Schema](#response-schema)
|
|
59
|
+
- [Config Defaults](#config-defaults)
|
|
60
|
+
- [Global axios defaults](#global-axios-defaults)
|
|
61
|
+
- [Custom instance defaults](#custom-instance-defaults)
|
|
62
|
+
- [Config order of precedence](#config-order-of-precedence)
|
|
63
|
+
- [Interceptors](#interceptors)
|
|
64
|
+
- [Multiple Interceptors](#multiple-interceptors)
|
|
65
|
+
- [Handling Errors](#handling-errors)
|
|
66
|
+
- [Handling Timeouts](#handling-timeouts)
|
|
67
|
+
- [Cancellation](#cancellation)
|
|
68
|
+
- [AbortController](#abortcontroller)
|
|
69
|
+
- [CancelToken π](#canceltoken-deprecated)
|
|
70
|
+
- [Using application/x-www-form-urlencoded format](#using-applicationx-www-form-urlencoded-format)
|
|
71
|
+
- [URLSearchParams](#urlsearchparams)
|
|
72
|
+
- [Query string](#query-string-older-browsers)
|
|
73
|
+
- [π Automatic serialization](#-automatic-serialization-to-urlsearchparams)
|
|
74
|
+
- [Using multipart/form-data format](#using-multipartform-data-format)
|
|
75
|
+
- [FormData](#formdata)
|
|
76
|
+
- [π Automatic serialization](#-automatic-serialization-to-formdata)
|
|
77
|
+
- [Files Posting](#files-posting)
|
|
78
|
+
- [HTML Form Posting](#-html-form-posting-browser)
|
|
79
|
+
- [π Progress capturing](#-progress-capturing)
|
|
80
|
+
- [π Rate limiting](#-rate-limiting)
|
|
81
|
+
- [π AxiosHeaders](#-axiosheaders)
|
|
82
|
+
- [π₯ Fetch adapter](#-fetch-adapter)
|
|
83
|
+
- [π₯ Custom fetch](#-custom-fetch)
|
|
84
|
+
- [π₯ Using with Tauri](#-using-with-tauri)
|
|
85
|
+
- [π₯ Using with SvelteKit](#-using-with-sveltekit-)
|
|
86
|
+
- [π₯ HTTP2](#-http2)
|
|
87
|
+
- [Semver](#semver)
|
|
88
|
+
- [Promises](#promises)
|
|
89
|
+
- [TypeScript](#typescript)
|
|
90
|
+
- [Resources](#resources)
|
|
91
|
+
- [Credits](#credits)
|
|
92
|
+
- [License](#license)
|
|
94
93
|
|
|
95
94
|
## Features
|
|
96
95
|
|
|
97
|
-
- **Browser Requests:** Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) directly from the browser.
|
|
98
|
-
- **Node.js Requests:** Make [http](https://nodejs.org/api/http.html) requests from Node.js environments.
|
|
99
|
-
- **Promise-based:** Fully supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API for easier asynchronous code.
|
|
100
|
-
- **Interceptors:** Intercept requests and responses to add custom logic or transform data.
|
|
101
|
-
- **Data Transformation:** Transform request and response data automatically.
|
|
102
|
-
- **Request Cancellation:** Cancel requests using built-in mechanisms.
|
|
103
|
-
- **Automatic JSON Handling:** Automatically serializes and parses [JSON](https://www.json.org/json-en.html) data.
|
|
104
|
-
- **Form Serialization:** π Automatically serializes data objects to `multipart/form-data` or `x-www-form-urlencoded` formats.
|
|
96
|
+
- **Browser Requests:** Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) directly from the browser.
|
|
97
|
+
- **Node.js Requests:** Make [http](https://nodejs.org/api/http.html) requests from Node.js environments.
|
|
98
|
+
- **Promise-based:** Fully supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API for easier asynchronous code.
|
|
99
|
+
- **Interceptors:** Intercept requests and responses to add custom logic or transform data.
|
|
100
|
+
- **Data Transformation:** Transform request and response data automatically.
|
|
101
|
+
- **Request Cancellation:** Cancel requests using built-in mechanisms.
|
|
102
|
+
- **Automatic JSON Handling:** Automatically serializes and parses [JSON](https://www.json.org/json-en.html) data.
|
|
103
|
+
- **Form Serialization:** π Automatically serializes data objects to `multipart/form-data` or `x-www-form-urlencoded` formats.
|
|
105
104
|
- **XSRF Protection:** Client-side support to protect against [Cross-Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery).
|
|
106
105
|
|
|
107
106
|
## Browser Support
|
|
108
107
|
|
|
109
|
-
|
|
|
110
|
-
|
|
108
|
+
| Chrome | Firefox | Safari | Opera | Edge |
|
|
109
|
+
| :------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: |
|
|
111
110
|
|  |  |  |  |  |
|
|
112
|
-
|
|
|
111
|
+
| Latest β | Latest β | Latest β | Latest β | Latest β |
|
|
113
112
|
|
|
114
113
|
[](https://saucelabs.com/u/axios)
|
|
115
114
|
|
|
@@ -150,36 +149,36 @@ $ bun add axios
|
|
|
150
149
|
Once the package is installed, you can import the library using `import` or `require` approach:
|
|
151
150
|
|
|
152
151
|
```js
|
|
153
|
-
import axios, {isCancel, AxiosError} from
|
|
152
|
+
import axios, { isCancel, AxiosError } from "axios";
|
|
154
153
|
```
|
|
155
154
|
|
|
156
155
|
You can also use the default export, since the named export is just a re-export from the Axios factory:
|
|
157
156
|
|
|
158
157
|
```js
|
|
159
|
-
import axios from
|
|
158
|
+
import axios from "axios";
|
|
160
159
|
|
|
161
|
-
console.log(axios.isCancel(
|
|
162
|
-
|
|
160
|
+
console.log(axios.isCancel("something"));
|
|
161
|
+
```
|
|
163
162
|
|
|
164
|
-
If you use `require` for importing, **only default export is available**:
|
|
163
|
+
If you use `require` for importing, **only the default export is available**:
|
|
165
164
|
|
|
166
165
|
```js
|
|
167
|
-
const axios = require(
|
|
166
|
+
const axios = require("axios");
|
|
168
167
|
|
|
169
|
-
console.log(axios.isCancel(
|
|
168
|
+
console.log(axios.isCancel("something"));
|
|
170
169
|
```
|
|
171
170
|
|
|
172
171
|
For some bundlers and some ES6 linters you may need to do the following:
|
|
173
172
|
|
|
174
173
|
```js
|
|
175
|
-
import { default as axios } from
|
|
174
|
+
import { default as axios } from "axios";
|
|
176
175
|
```
|
|
177
176
|
|
|
178
177
|
For cases where something went wrong when trying to import a module into a custom or legacy environment,
|
|
179
178
|
you can try importing the module package directly:
|
|
180
179
|
|
|
181
180
|
```js
|
|
182
|
-
const axios = require(
|
|
181
|
+
const axios = require("axios/dist/browser/axios.cjs"); // browser commonJS bundle (ES2017)
|
|
183
182
|
// const axios = require('axios/dist/node/axios.cjs'); // node commonJS bundle (ES2017)
|
|
184
183
|
```
|
|
185
184
|
|
|
@@ -188,43 +187,34 @@ const axios = require('axios/dist/browser/axios.cjs'); // browser commonJS bundl
|
|
|
188
187
|
Using jsDelivr CDN (ES5 UMD browser module):
|
|
189
188
|
|
|
190
189
|
```html
|
|
191
|
-
<script src="https://cdn.jsdelivr.net/npm/axios@1.
|
|
190
|
+
<script src="https://cdn.jsdelivr.net/npm/axios@1.13.2/dist/axios.min.js"></script>
|
|
192
191
|
```
|
|
193
192
|
|
|
194
193
|
Using unpkg CDN:
|
|
195
194
|
|
|
196
195
|
```html
|
|
197
|
-
<script src="https://unpkg.com/axios@1.
|
|
196
|
+
<script src="https://unpkg.com/axios@1.13.2/dist/axios.min.js"></script>
|
|
198
197
|
```
|
|
199
198
|
|
|
200
199
|
## Example
|
|
201
200
|
|
|
202
|
-
> **Note**: CommonJS usage
|
|
203
|
-
> In order to gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with `require()`, use the following approach:
|
|
204
|
-
|
|
205
201
|
```js
|
|
206
|
-
import axios from
|
|
202
|
+
import axios from "axios";
|
|
207
203
|
//const axios = require('axios'); // legacy way
|
|
208
204
|
|
|
209
|
-
|
|
210
|
-
axios.get(
|
|
211
|
-
.
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
.catch(function (error) {
|
|
216
|
-
// handle error
|
|
217
|
-
console.log(error);
|
|
218
|
-
})
|
|
219
|
-
.finally(function () {
|
|
220
|
-
// always executed
|
|
221
|
-
});
|
|
205
|
+
try {
|
|
206
|
+
const response = await axios.get("/user?ID=12345");
|
|
207
|
+
console.log(response);
|
|
208
|
+
} catch (error) {
|
|
209
|
+
console.error(error);
|
|
210
|
+
}
|
|
222
211
|
|
|
223
212
|
// Optionally the request above could also be done as
|
|
224
|
-
axios
|
|
213
|
+
axios
|
|
214
|
+
.get("/user", {
|
|
225
215
|
params: {
|
|
226
|
-
ID: 12345
|
|
227
|
-
}
|
|
216
|
+
ID: 12345,
|
|
217
|
+
},
|
|
228
218
|
})
|
|
229
219
|
.then(function (response) {
|
|
230
220
|
console.log(response);
|
|
@@ -239,7 +229,7 @@ axios.get('/user', {
|
|
|
239
229
|
// Want to use async/await? Add the `async` keyword to your outer function/method.
|
|
240
230
|
async function getUser() {
|
|
241
231
|
try {
|
|
242
|
-
const response = await axios.get(
|
|
232
|
+
const response = await axios.get("/user?ID=12345");
|
|
243
233
|
console.log(response);
|
|
244
234
|
} catch (error) {
|
|
245
235
|
console.error(error);
|
|
@@ -253,34 +243,28 @@ async function getUser() {
|
|
|
253
243
|
Performing a `POST` request
|
|
254
244
|
|
|
255
245
|
```js
|
|
256
|
-
axios.post(
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
console.log(response);
|
|
262
|
-
})
|
|
263
|
-
.catch(function (error) {
|
|
264
|
-
console.log(error);
|
|
265
|
-
});
|
|
246
|
+
const response = await axios.post("/user", {
|
|
247
|
+
firstName: "Fred",
|
|
248
|
+
lastName: "Flintstone",
|
|
249
|
+
});
|
|
250
|
+
console.log(response);
|
|
266
251
|
```
|
|
267
252
|
|
|
268
253
|
Performing multiple concurrent requests
|
|
269
254
|
|
|
270
255
|
```js
|
|
271
256
|
function getUserAccount() {
|
|
272
|
-
return axios.get(
|
|
257
|
+
return axios.get("/user/12345");
|
|
273
258
|
}
|
|
274
259
|
|
|
275
260
|
function getUserPermissions() {
|
|
276
|
-
return axios.get(
|
|
261
|
+
return axios.get("/user/12345/permissions");
|
|
277
262
|
}
|
|
278
263
|
|
|
279
|
-
Promise.all([getUserAccount(), getUserPermissions()])
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
});
|
|
264
|
+
Promise.all([getUserAccount(), getUserPermissions()]).then(function (results) {
|
|
265
|
+
const acct = results[0];
|
|
266
|
+
const perm = results[1];
|
|
267
|
+
});
|
|
284
268
|
```
|
|
285
269
|
|
|
286
270
|
## axios API
|
|
@@ -292,32 +276,30 @@ Requests can be made by passing the relevant config to `axios`.
|
|
|
292
276
|
```js
|
|
293
277
|
// Send a POST request
|
|
294
278
|
axios({
|
|
295
|
-
method:
|
|
296
|
-
url:
|
|
279
|
+
method: "post",
|
|
280
|
+
url: "/user/12345",
|
|
297
281
|
data: {
|
|
298
|
-
firstName:
|
|
299
|
-
lastName:
|
|
300
|
-
}
|
|
282
|
+
firstName: "Fred",
|
|
283
|
+
lastName: "Flintstone",
|
|
284
|
+
},
|
|
301
285
|
});
|
|
302
286
|
```
|
|
303
287
|
|
|
304
288
|
```js
|
|
305
289
|
// GET request for remote image in node.js
|
|
306
|
-
axios({
|
|
307
|
-
method:
|
|
308
|
-
url:
|
|
309
|
-
responseType:
|
|
310
|
-
})
|
|
311
|
-
|
|
312
|
-
response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
|
|
313
|
-
});
|
|
290
|
+
const response = await axios({
|
|
291
|
+
method: "get",
|
|
292
|
+
url: "https://bit.ly/2mTM3nY",
|
|
293
|
+
responseType: "stream",
|
|
294
|
+
});
|
|
295
|
+
response.data.pipe(fs.createWriteStream("ada_lovelace.jpg"));
|
|
314
296
|
```
|
|
315
297
|
|
|
316
298
|
##### axios(url[, config])
|
|
317
299
|
|
|
318
300
|
```js
|
|
319
301
|
// Send a GET request (default method)
|
|
320
|
-
axios(
|
|
302
|
+
axios("/user/12345");
|
|
321
303
|
```
|
|
322
304
|
|
|
323
305
|
### Request method aliases
|
|
@@ -325,18 +307,27 @@ axios('/user/12345');
|
|
|
325
307
|
For convenience, aliases have been provided for all common request methods.
|
|
326
308
|
|
|
327
309
|
##### axios.request(config)
|
|
310
|
+
|
|
328
311
|
##### axios.get(url[, config])
|
|
312
|
+
|
|
329
313
|
##### axios.delete(url[, config])
|
|
314
|
+
|
|
330
315
|
##### axios.head(url[, config])
|
|
316
|
+
|
|
331
317
|
##### axios.options(url[, config])
|
|
318
|
+
|
|
332
319
|
##### axios.post(url[, data[, config]])
|
|
320
|
+
|
|
333
321
|
##### axios.put(url[, data[, config]])
|
|
322
|
+
|
|
334
323
|
##### axios.patch(url[, data[, config]])
|
|
335
324
|
|
|
336
325
|
###### NOTE
|
|
326
|
+
|
|
337
327
|
When using the alias methods `url`, `method`, and `data` properties don't need to be specified in config.
|
|
338
328
|
|
|
339
329
|
### Concurrency (Deprecated)
|
|
330
|
+
|
|
340
331
|
Please use `Promise.all` to replace the below functions.
|
|
341
332
|
|
|
342
333
|
Helper functions for dealing with concurrent requests.
|
|
@@ -352,9 +343,9 @@ You can create a new instance of axios with a custom config.
|
|
|
352
343
|
|
|
353
344
|
```js
|
|
354
345
|
const instance = axios.create({
|
|
355
|
-
baseURL:
|
|
346
|
+
baseURL: "https://some-domain.com/api/",
|
|
356
347
|
timeout: 1000,
|
|
357
|
-
headers: {
|
|
348
|
+
headers: { "X-Custom-Header": "foobar" },
|
|
358
349
|
});
|
|
359
350
|
```
|
|
360
351
|
|
|
@@ -363,13 +354,21 @@ const instance = axios.create({
|
|
|
363
354
|
The available instance methods are listed below. The specified config will be merged with the instance config.
|
|
364
355
|
|
|
365
356
|
##### axios#request(config)
|
|
357
|
+
|
|
366
358
|
##### axios#get(url[, config])
|
|
359
|
+
|
|
367
360
|
##### axios#delete(url[, config])
|
|
361
|
+
|
|
368
362
|
##### axios#head(url[, config])
|
|
363
|
+
|
|
369
364
|
##### axios#options(url[, config])
|
|
365
|
+
|
|
370
366
|
##### axios#post(url[, data[, config]])
|
|
367
|
+
|
|
371
368
|
##### axios#put(url[, data[, config]])
|
|
369
|
+
|
|
372
370
|
##### axios#patch(url[, data[, config]])
|
|
371
|
+
|
|
373
372
|
##### axios#getUri([config])
|
|
374
373
|
|
|
375
374
|
## Request Config
|
|
@@ -384,9 +383,9 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
384
383
|
// `method` is the request method to be used when making the request
|
|
385
384
|
method: 'get', // default
|
|
386
385
|
|
|
387
|
-
// `baseURL` will be prepended to `url` unless `url` is absolute and option `allowAbsoluteUrls` is set to true.
|
|
386
|
+
// `baseURL` will be prepended to `url` unless `url` is absolute and the option `allowAbsoluteUrls` is set to true.
|
|
388
387
|
// It can be convenient to set `baseURL` for an instance of axios to pass relative URLs
|
|
389
|
-
// to methods of that instance.
|
|
388
|
+
// to the methods of that instance.
|
|
390
389
|
baseURL: 'https://some-domain.com/api/',
|
|
391
390
|
|
|
392
391
|
// `allowAbsoluteUrls` determines whether or not absolute URLs will override a configured `baseUrl`.
|
|
@@ -428,7 +427,7 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
428
427
|
// Custom encoder function which sends key/value pairs in an iterative fashion.
|
|
429
428
|
encode?: (param: string): string => { /* Do custom operations here and return transformed string */ },
|
|
430
429
|
|
|
431
|
-
// Custom serializer function for the entire parameter. Allows user to mimic pre 1.x behaviour.
|
|
430
|
+
// Custom serializer function for the entire parameter. Allows the user to mimic pre 1.x behaviour.
|
|
432
431
|
serialize?: (params: Record<string, any>, options?: ParamsSerializerOptions ),
|
|
433
432
|
|
|
434
433
|
// Configuration for formatting array indexes in the params.
|
|
@@ -436,8 +435,8 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
436
435
|
},
|
|
437
436
|
|
|
438
437
|
// `data` is the data to be sent as the request body
|
|
439
|
-
// Only applicable for request methods 'PUT', 'POST', 'DELETE
|
|
440
|
-
// When no `transformRequest` is set, must be of one of the following types:
|
|
438
|
+
// Only applicable for request methods 'PUT', 'POST', 'DELETE', and 'PATCH'
|
|
439
|
+
// When no `transformRequest` is set, it must be of one of the following types:
|
|
441
440
|
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
|
|
442
441
|
// - Browser only: FormData, File, Blob
|
|
443
442
|
// - Node only: Stream, Buffer, FormData (form-data package)
|
|
@@ -489,7 +488,7 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
489
488
|
// 'utf8', 'UTF8', 'utf16le', 'UTF16LE'
|
|
490
489
|
responseEncoding: 'utf8', // default
|
|
491
490
|
|
|
492
|
-
// `xsrfCookieName` is the name of the cookie to use as a value for xsrf token
|
|
491
|
+
// `xsrfCookieName` is the name of the cookie to use as a value for the xsrf token
|
|
493
492
|
xsrfCookieName: 'XSRF-TOKEN', // default
|
|
494
493
|
|
|
495
494
|
// `xsrfHeaderName` is the name of the http header that carries the xsrf token value
|
|
@@ -568,7 +567,7 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
568
567
|
// Use `false` to disable proxies, ignoring environment variables.
|
|
569
568
|
// `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and
|
|
570
569
|
// supplies credentials.
|
|
571
|
-
// This will set
|
|
570
|
+
// This will set a `Proxy-Authorization` header, overwriting any existing
|
|
572
571
|
// `Proxy-Authorization` custom headers you have set using `headers`.
|
|
573
572
|
// If the proxy server uses HTTPS, then you must set the protocol to `https`.
|
|
574
573
|
proxy: {
|
|
@@ -616,6 +615,9 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
616
615
|
|
|
617
616
|
// throw ETIMEDOUT error instead of generic ECONNABORTED on request timeouts
|
|
618
617
|
clarifyTimeoutError: false,
|
|
618
|
+
|
|
619
|
+
// use the legacy interceptor request/response ordering
|
|
620
|
+
legacyInterceptorReqResOrdering: true, // default
|
|
619
621
|
},
|
|
620
622
|
|
|
621
623
|
env: {
|
|
@@ -640,7 +642,7 @@ These are the available config options for making requests. Only the `url` is re
|
|
|
640
642
|
|
|
641
643
|
## Response Schema
|
|
642
644
|
|
|
643
|
-
The response
|
|
645
|
+
The response to a request contains the following information.
|
|
644
646
|
|
|
645
647
|
```js
|
|
646
648
|
{
|
|
@@ -671,14 +673,12 @@ The response for a request contains the following information.
|
|
|
671
673
|
When using `then`, you will receive the response as follows:
|
|
672
674
|
|
|
673
675
|
```js
|
|
674
|
-
axios.get(
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
console.log(response.config);
|
|
681
|
-
});
|
|
676
|
+
const response = await axios.get("/user/12345");
|
|
677
|
+
console.log(response.data);
|
|
678
|
+
console.log(response.status);
|
|
679
|
+
console.log(response.statusText);
|
|
680
|
+
console.log(response.headers);
|
|
681
|
+
console.log(response.config);
|
|
682
682
|
```
|
|
683
683
|
|
|
684
684
|
When using `catch`, or passing a [rejection callback](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) as second parameter of `then`, the response will be available through the `error` object as explained in the [Handling Errors](#handling-errors) section.
|
|
@@ -690,13 +690,14 @@ You can specify config defaults that will be applied to every request.
|
|
|
690
690
|
### Global axios defaults
|
|
691
691
|
|
|
692
692
|
```js
|
|
693
|
-
axios.defaults.baseURL =
|
|
693
|
+
axios.defaults.baseURL = "https://api.example.com";
|
|
694
694
|
|
|
695
695
|
// Important: If axios is used with multiple domains, the AUTH_TOKEN will be sent to all of them.
|
|
696
696
|
// See below for an example using Custom instance defaults instead.
|
|
697
|
-
axios.defaults.headers.common[
|
|
697
|
+
axios.defaults.headers.common["Authorization"] = AUTH_TOKEN;
|
|
698
698
|
|
|
699
|
-
axios.defaults.headers.post[
|
|
699
|
+
axios.defaults.headers.post["Content-Type"] =
|
|
700
|
+
"application/x-www-form-urlencoded";
|
|
700
701
|
```
|
|
701
702
|
|
|
702
703
|
### Custom instance defaults
|
|
@@ -704,11 +705,11 @@ axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded
|
|
|
704
705
|
```js
|
|
705
706
|
// Set config defaults when creating the instance
|
|
706
707
|
const instance = axios.create({
|
|
707
|
-
baseURL:
|
|
708
|
+
baseURL: "https://api.example.com",
|
|
708
709
|
});
|
|
709
710
|
|
|
710
711
|
// Alter defaults after instance has been created
|
|
711
|
-
instance.defaults.headers.common[
|
|
712
|
+
instance.defaults.headers.common["Authorization"] = AUTH_TOKEN;
|
|
712
713
|
```
|
|
713
714
|
|
|
714
715
|
### Config order of precedence
|
|
@@ -725,54 +726,67 @@ const instance = axios.create();
|
|
|
725
726
|
instance.defaults.timeout = 2500;
|
|
726
727
|
|
|
727
728
|
// Override timeout for this request as it's known to take a long time
|
|
728
|
-
instance.get(
|
|
729
|
-
timeout: 5000
|
|
729
|
+
instance.get("/longRequest", {
|
|
730
|
+
timeout: 5000,
|
|
730
731
|
});
|
|
731
732
|
```
|
|
732
733
|
|
|
733
734
|
## Interceptors
|
|
734
735
|
|
|
735
|
-
You can intercept requests or responses before
|
|
736
|
+
You can intercept requests or responses before methods like `.get()` or `.post()`
|
|
737
|
+
resolve their promises (before code inside `then` or `catch`, or after `await`)
|
|
736
738
|
|
|
737
739
|
```js
|
|
738
|
-
|
|
739
740
|
const instance = axios.create();
|
|
740
741
|
|
|
741
742
|
// Add a request interceptor
|
|
742
|
-
instance.interceptors.request.use(
|
|
743
|
-
|
|
743
|
+
instance.interceptors.request.use(
|
|
744
|
+
function (config) {
|
|
745
|
+
// Do something before the request is sent
|
|
744
746
|
return config;
|
|
745
|
-
},
|
|
746
|
-
|
|
747
|
+
},
|
|
748
|
+
function (error) {
|
|
749
|
+
// Do something with the request error
|
|
747
750
|
return Promise.reject(error);
|
|
748
|
-
}
|
|
751
|
+
},
|
|
752
|
+
);
|
|
749
753
|
|
|
750
754
|
// Add a response interceptor
|
|
751
|
-
instance.interceptors.response.use(
|
|
752
|
-
|
|
755
|
+
instance.interceptors.response.use(
|
|
756
|
+
function (response) {
|
|
757
|
+
// Any status code that lies within the range of 2xx causes this function to trigger
|
|
753
758
|
// Do something with response data
|
|
754
759
|
return response;
|
|
755
|
-
},
|
|
756
|
-
|
|
760
|
+
},
|
|
761
|
+
function (error) {
|
|
762
|
+
// Any status codes that fall outside the range of 2xx cause this function to trigger
|
|
757
763
|
// Do something with response error
|
|
758
764
|
return Promise.reject(error);
|
|
759
|
-
}
|
|
765
|
+
},
|
|
766
|
+
);
|
|
760
767
|
```
|
|
761
768
|
|
|
762
769
|
If you need to remove an interceptor later you can.
|
|
763
770
|
|
|
764
771
|
```js
|
|
765
772
|
const instance = axios.create();
|
|
766
|
-
const myInterceptor = instance.interceptors.request.use(function () {
|
|
773
|
+
const myInterceptor = instance.interceptors.request.use(function () {
|
|
774
|
+
/*...*/
|
|
775
|
+
});
|
|
767
776
|
axios.interceptors.request.eject(myInterceptor);
|
|
768
777
|
```
|
|
769
778
|
|
|
770
779
|
You can also clear all interceptors for requests or responses.
|
|
780
|
+
|
|
771
781
|
```js
|
|
772
782
|
const instance = axios.create();
|
|
773
|
-
instance.interceptors.request.use(function () {
|
|
783
|
+
instance.interceptors.request.use(function () {
|
|
784
|
+
/*...*/
|
|
785
|
+
});
|
|
774
786
|
instance.interceptors.request.clear(); // Removes interceptors from requests
|
|
775
|
-
instance.interceptors.response.use(function () {
|
|
787
|
+
instance.interceptors.response.use(function () {
|
|
788
|
+
/*...*/
|
|
789
|
+
});
|
|
776
790
|
instance.interceptors.response.clear(); // Removes interceptors from responses
|
|
777
791
|
```
|
|
778
792
|
|
|
@@ -780,19 +794,25 @@ You can add interceptors to a custom instance of axios.
|
|
|
780
794
|
|
|
781
795
|
```js
|
|
782
796
|
const instance = axios.create();
|
|
783
|
-
instance.interceptors.request.use(function () {
|
|
797
|
+
instance.interceptors.request.use(function () {
|
|
798
|
+
/*...*/
|
|
799
|
+
});
|
|
784
800
|
```
|
|
785
801
|
|
|
786
802
|
When you add request interceptors, they are presumed to be asynchronous by default. This can cause a delay
|
|
787
803
|
in the execution of your axios request when the main thread is blocked (a promise is created under the hood for
|
|
788
|
-
the interceptor and your request gets put
|
|
804
|
+
the interceptor and your request gets put at the bottom of the call stack). If your request interceptors are synchronous you can add a flag
|
|
789
805
|
to the options object that will tell axios to run the code synchronously and avoid any delays in request execution.
|
|
790
806
|
|
|
791
807
|
```js
|
|
792
|
-
axios.interceptors.request.use(
|
|
793
|
-
config
|
|
794
|
-
|
|
795
|
-
|
|
808
|
+
axios.interceptors.request.use(
|
|
809
|
+
function (config) {
|
|
810
|
+
config.headers.test = "I am only a header!";
|
|
811
|
+
return config;
|
|
812
|
+
},
|
|
813
|
+
null,
|
|
814
|
+
{ synchronous: true },
|
|
815
|
+
);
|
|
796
816
|
```
|
|
797
817
|
|
|
798
818
|
If you want to execute a particular interceptor based on a runtime check,
|
|
@@ -803,49 +823,89 @@ asynchronous request interceptor that only needs to run at certain times.
|
|
|
803
823
|
|
|
804
824
|
```js
|
|
805
825
|
function onGetCall(config) {
|
|
806
|
-
return config.method ===
|
|
826
|
+
return config.method === "get";
|
|
807
827
|
}
|
|
808
|
-
axios.interceptors.request.use(
|
|
809
|
-
config
|
|
810
|
-
|
|
811
|
-
|
|
828
|
+
axios.interceptors.request.use(
|
|
829
|
+
function (config) {
|
|
830
|
+
config.headers.test = "special get headers";
|
|
831
|
+
return config;
|
|
832
|
+
},
|
|
833
|
+
null,
|
|
834
|
+
{ runWhen: onGetCall },
|
|
835
|
+
);
|
|
812
836
|
```
|
|
813
837
|
|
|
814
|
-
> **Note:** options parameter(having `synchronous` and `runWhen` properties) is only supported for request interceptors at the moment.
|
|
838
|
+
> **Note:** The options parameter(having `synchronous` and `runWhen` properties) is only supported for request interceptors at the moment.
|
|
839
|
+
|
|
840
|
+
### Interceptor Execution Order
|
|
841
|
+
|
|
842
|
+
**Important:** Interceptors have different execution orders depending on their type!
|
|
843
|
+
|
|
844
|
+
Request interceptors are executed in **reverse order** (LIFO - Last In, First Out). This means the _last_ interceptor added is executed **first**.
|
|
845
|
+
|
|
846
|
+
Response interceptors are executed in the **order they were added** (FIFO - First In, First Out). This means the _first_ interceptor added is executed **first**.
|
|
847
|
+
|
|
848
|
+
Example:
|
|
849
|
+
|
|
850
|
+
```js
|
|
851
|
+
const instance = axios.create();
|
|
852
|
+
|
|
853
|
+
const interceptor = (id) => (base) => {
|
|
854
|
+
console.log(id);
|
|
855
|
+
return base;
|
|
856
|
+
};
|
|
857
|
+
|
|
858
|
+
instance.interceptors.request.use(interceptor("Request Interceptor 1"));
|
|
859
|
+
instance.interceptors.request.use(interceptor("Request Interceptor 2"));
|
|
860
|
+
instance.interceptors.request.use(interceptor("Request Interceptor 3"));
|
|
861
|
+
instance.interceptors.response.use(interceptor("Response Interceptor 1"));
|
|
862
|
+
instance.interceptors.response.use(interceptor("Response Interceptor 2"));
|
|
863
|
+
instance.interceptors.response.use(interceptor("Response Interceptor 3"));
|
|
864
|
+
|
|
865
|
+
// Console output:
|
|
866
|
+
// Request Interceptor 3
|
|
867
|
+
// Request Interceptor 2
|
|
868
|
+
// Request Interceptor 1
|
|
869
|
+
// [HTTP request is made]
|
|
870
|
+
// Response Interceptor 1
|
|
871
|
+
// Response Interceptor 2
|
|
872
|
+
// Response Interceptor 3
|
|
873
|
+
```
|
|
815
874
|
|
|
816
875
|
### Multiple Interceptors
|
|
817
876
|
|
|
818
|
-
Given you add multiple response interceptors
|
|
877
|
+
Given that you add multiple response interceptors
|
|
819
878
|
and when the response was fulfilled
|
|
879
|
+
|
|
820
880
|
- then each interceptor is executed
|
|
821
881
|
- then they are executed in the order they were added
|
|
822
882
|
- then only the last interceptor's result is returned
|
|
823
883
|
- then every interceptor receives the result of its predecessor
|
|
824
884
|
- and when the fulfillment-interceptor throws
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
885
|
+
- then the following fulfillment-interceptor is not called
|
|
886
|
+
- then the following rejection-interceptor is called
|
|
887
|
+
- once caught, another following fulfill-interceptor is called again (just like in a promise chain).
|
|
828
888
|
|
|
829
|
-
Read [the interceptor tests](./test/specs/interceptors.spec.js)
|
|
889
|
+
Read [the interceptor tests](./test/specs/interceptors.spec.js) to see all this in code.
|
|
830
890
|
|
|
831
891
|
## Error Types
|
|
832
892
|
|
|
833
|
-
There are many different axios error messages that can appear
|
|
893
|
+
There are many different axios error messages that can appear which can provide basic information about the specifics of the error and where opportunities may lie in debugging.
|
|
834
894
|
|
|
835
895
|
The general structure of axios errors is as follows:
|
|
836
|
-
| Property
|
|
837
|
-
| -------- | ----------
|
|
838
|
-
| message
|
|
839
|
-
| name
|
|
840
|
-
| stack
|
|
841
|
-
| config
|
|
842
|
-
| code
|
|
843
|
-
| status
|
|
896
|
+
| Property | Definition |
|
|
897
|
+
| -------- | ---------- |
|
|
898
|
+
| message | A quick summary of the error message and the status it failed with. |
|
|
899
|
+
| name | This defines where the error originated from. For axios, it will always be an 'AxiosError'. |
|
|
900
|
+
| stack | Provides the stack trace of the error. |
|
|
901
|
+
| config | An axios config object with specific instance configurations defined by the user from when the request was made |
|
|
902
|
+
| code | Represents an axios identified error. The table below lists specific definitions for internal axios error. |
|
|
903
|
+
| status | HTTP response status code. See [here](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) for common HTTP response status code meanings.
|
|
844
904
|
|
|
845
905
|
Below is a list of potential axios identified error:
|
|
846
906
|
|
|
847
907
|
| Code | Definition |
|
|
848
|
-
|
|
|
908
|
+
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
849
909
|
| ERR_BAD_OPTION_VALUE | Invalid value provided in axios configuration. |
|
|
850
910
|
| ERR_BAD_OPTION | Invalid option provided in axios configuration. |
|
|
851
911
|
| ERR_NOT_SUPPORT | Feature or method not supported in the current axios environment. |
|
|
@@ -853,78 +913,98 @@ Below is a list of potential axios identified error:
|
|
|
853
913
|
| ERR_INVALID_URL | Invalid URL provided for axios request. |
|
|
854
914
|
| ECONNABORTED | Typically indicates that the request has been timed out (unless `transitional.clarifyTimeoutError` is set) or aborted by the browser or its plugin. |
|
|
855
915
|
| ERR_CANCELED | Feature or method is canceled explicitly by the user using an AbortSignal (or a CancelToken). |
|
|
856
|
-
| ETIMEDOUT | Request timed out due to exceeding default axios timelimit. `transitional.clarifyTimeoutError` must be set to `true`, otherwise a generic `ECONNABORTED` error will be thrown instead.
|
|
916
|
+
| ETIMEDOUT | Request timed out due to exceeding the default axios timelimit. `transitional.clarifyTimeoutError` must be set to `true`, otherwise a generic `ECONNABORTED` error will be thrown instead. |
|
|
857
917
|
| ERR_NETWORK | Network-related issue. In the browser, this error can also be caused by a [CORS](https://developer.mozilla.org/ru/docs/Web/HTTP/Guides/CORS) or [Mixed Content](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content) policy violation. The browser does not allow the JS code to clarify the real reason for the error caused by security issues, so please check the console. |
|
|
858
918
|
| ERR_FR_TOO_MANY_REDIRECTS | Request is redirected too many times; exceeds max redirects specified in axios configuration. |
|
|
859
|
-
| ERR_BAD_RESPONSE | Response cannot be parsed properly or is in an unexpected format. Usually related to a response with `5xx` status code.
|
|
860
|
-
| ERR_BAD_REQUEST | The request has an unexpected format or is missing required parameters. Usually related to a response with `4xx` status code.
|
|
919
|
+
| ERR_BAD_RESPONSE | Response cannot be parsed properly or is in an unexpected format. Usually related to a response with `5xx` status code. |
|
|
920
|
+
| ERR_BAD_REQUEST | The request has an unexpected format or is missing required parameters. Usually related to a response with `4xx` status code. |
|
|
861
921
|
|
|
862
922
|
## Handling Errors
|
|
863
923
|
|
|
864
|
-
|
|
924
|
+
The default behavior is to reject every response that returns with a status code that falls out of the range of 2xx and treat it as an error.
|
|
865
925
|
|
|
866
926
|
```js
|
|
867
|
-
axios.get(
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
});
|
|
927
|
+
axios.get("/user/12345").catch(function (error) {
|
|
928
|
+
if (error.response) {
|
|
929
|
+
// The request was made and the server responded with a status code
|
|
930
|
+
// that falls out of the range of 2xx
|
|
931
|
+
console.log(error.response.data);
|
|
932
|
+
console.log(error.response.status);
|
|
933
|
+
console.log(error.response.headers);
|
|
934
|
+
} else if (error.request) {
|
|
935
|
+
// The request was made but no response was received
|
|
936
|
+
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
|
|
937
|
+
// http.ClientRequest in node.js
|
|
938
|
+
console.log(error.request);
|
|
939
|
+
} else {
|
|
940
|
+
// Something happened in setting up the request that triggered an Error
|
|
941
|
+
console.log("Error", error.message);
|
|
942
|
+
}
|
|
943
|
+
console.log(error.config);
|
|
944
|
+
});
|
|
886
945
|
```
|
|
887
946
|
|
|
888
947
|
Using the `validateStatus` config option, you can override the default condition (status >= 200 && status < 300) and define HTTP code(s) that should throw an error.
|
|
889
948
|
|
|
890
949
|
```js
|
|
891
|
-
axios.get(
|
|
950
|
+
axios.get("/user/12345", {
|
|
892
951
|
validateStatus: function (status) {
|
|
893
952
|
return status < 500; // Resolve only if the status code is less than 500
|
|
894
|
-
}
|
|
895
|
-
})
|
|
953
|
+
},
|
|
954
|
+
});
|
|
896
955
|
```
|
|
897
956
|
|
|
898
957
|
Using `toJSON` you get an object with more information about the HTTP error.
|
|
899
958
|
|
|
900
959
|
```js
|
|
901
|
-
axios.get(
|
|
902
|
-
.
|
|
903
|
-
|
|
904
|
-
|
|
960
|
+
axios.get("/user/12345").catch(function (error) {
|
|
961
|
+
console.log(error.toJSON());
|
|
962
|
+
});
|
|
963
|
+
```
|
|
964
|
+
|
|
965
|
+
## Handling Timeouts
|
|
966
|
+
|
|
967
|
+
```js
|
|
968
|
+
async function fetchWithTimeout() {
|
|
969
|
+
try {
|
|
970
|
+
const response = await axios.get("https://example.com/data", {
|
|
971
|
+
timeout: 5000, // 5 seconds
|
|
972
|
+
});
|
|
973
|
+
|
|
974
|
+
console.log("Response:", response.data);
|
|
975
|
+
} catch (error) {
|
|
976
|
+
if (axios.isAxiosError(error) && error.code === "ECONNABORTED") {
|
|
977
|
+
console.error("β Request timed out!");
|
|
978
|
+
} else {
|
|
979
|
+
console.error("β Error:", error.message);
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
}
|
|
905
983
|
```
|
|
906
984
|
|
|
907
985
|
## Cancellation
|
|
908
986
|
|
|
909
987
|
### AbortController
|
|
910
988
|
|
|
911
|
-
Starting from `v0.22.0` Axios supports AbortController to cancel requests in fetch API way:
|
|
989
|
+
Starting from `v0.22.0` Axios supports AbortController to cancel requests in a fetch API way:
|
|
912
990
|
|
|
913
991
|
```js
|
|
914
992
|
const controller = new AbortController();
|
|
915
993
|
|
|
916
|
-
axios
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
994
|
+
axios
|
|
995
|
+
.get("/foo/bar", {
|
|
996
|
+
signal: controller.signal,
|
|
997
|
+
})
|
|
998
|
+
.then(function (response) {
|
|
999
|
+
//...
|
|
1000
|
+
});
|
|
921
1001
|
// cancel the request
|
|
922
|
-
controller.abort()
|
|
1002
|
+
controller.abort();
|
|
923
1003
|
```
|
|
924
1004
|
|
|
925
1005
|
### CancelToken `πdeprecated`
|
|
926
1006
|
|
|
927
|
-
You can also cancel a request using a
|
|
1007
|
+
You can also cancel a request using a _CancelToken_.
|
|
928
1008
|
|
|
929
1009
|
> The axios cancel token API is based on the withdrawn [cancellable promises proposal](https://github.com/tc39/proposal-cancelable-promises).
|
|
930
1010
|
|
|
@@ -936,24 +1016,30 @@ You can create a cancel token using the `CancelToken.source` factory as shown be
|
|
|
936
1016
|
const CancelToken = axios.CancelToken;
|
|
937
1017
|
const source = CancelToken.source();
|
|
938
1018
|
|
|
939
|
-
axios
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
1019
|
+
axios
|
|
1020
|
+
.get("/user/12345", {
|
|
1021
|
+
cancelToken: source.token,
|
|
1022
|
+
})
|
|
1023
|
+
.catch(function (thrown) {
|
|
1024
|
+
if (axios.isCancel(thrown)) {
|
|
1025
|
+
console.log("Request canceled", thrown.message);
|
|
1026
|
+
} else {
|
|
1027
|
+
// handle error
|
|
1028
|
+
}
|
|
1029
|
+
});
|
|
948
1030
|
|
|
949
|
-
axios.post(
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
}
|
|
1031
|
+
axios.post(
|
|
1032
|
+
"/user/12345",
|
|
1033
|
+
{
|
|
1034
|
+
name: "new name",
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
cancelToken: source.token,
|
|
1038
|
+
},
|
|
1039
|
+
);
|
|
954
1040
|
|
|
955
1041
|
// cancel the request (the message parameter is optional)
|
|
956
|
-
source.cancel(
|
|
1042
|
+
source.cancel("Operation canceled by the user.");
|
|
957
1043
|
```
|
|
958
1044
|
|
|
959
1045
|
You can also create a cancel token by passing an executor function to the `CancelToken` constructor:
|
|
@@ -962,11 +1048,11 @@ You can also create a cancel token by passing an executor function to the `Cance
|
|
|
962
1048
|
const CancelToken = axios.CancelToken;
|
|
963
1049
|
let cancel;
|
|
964
1050
|
|
|
965
|
-
axios.get(
|
|
1051
|
+
axios.get("/user/12345", {
|
|
966
1052
|
cancelToken: new CancelToken(function executor(c) {
|
|
967
1053
|
// An executor function receives a cancel function as a parameter
|
|
968
1054
|
cancel = c;
|
|
969
|
-
})
|
|
1055
|
+
}),
|
|
970
1056
|
});
|
|
971
1057
|
|
|
972
1058
|
// cancel the request
|
|
@@ -982,12 +1068,12 @@ cancel();
|
|
|
982
1068
|
|
|
983
1069
|
### URLSearchParams
|
|
984
1070
|
|
|
985
|
-
By default, axios serializes JavaScript objects to `JSON`. To send data in the [`application/x-www-form-urlencoded`
|
|
1071
|
+
By default, axios serializes JavaScript objects to `JSON`. To send data in the [`application/x-www-form-urlencoded`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) format instead, you can use the [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) API, which is [supported](http://www.caniuse.com/#feat=urlsearchparams) in the vast majority of browsers, and [Node](https://nodejs.org/api/url.html#url_class_urlsearchparams) starting with v10 (released in 2018).
|
|
986
1072
|
|
|
987
1073
|
```js
|
|
988
|
-
const params = new URLSearchParams({ foo:
|
|
989
|
-
params.append(
|
|
990
|
-
axios.post(
|
|
1074
|
+
const params = new URLSearchParams({ foo: "bar" });
|
|
1075
|
+
params.append("extraparam", "value");
|
|
1076
|
+
axios.post("/foo", params);
|
|
991
1077
|
```
|
|
992
1078
|
|
|
993
1079
|
### Query string (Older browsers)
|
|
@@ -997,18 +1083,18 @@ For compatibility with very old browsers, there is a [polyfill](https://github.c
|
|
|
997
1083
|
Alternatively, you can encode data using the [`qs`](https://github.com/ljharb/qs) library:
|
|
998
1084
|
|
|
999
1085
|
```js
|
|
1000
|
-
const qs = require(
|
|
1001
|
-
axios.post(
|
|
1086
|
+
const qs = require("qs");
|
|
1087
|
+
axios.post("/foo", qs.stringify({ bar: 123 }));
|
|
1002
1088
|
```
|
|
1003
1089
|
|
|
1004
1090
|
Or in another way (ES6),
|
|
1005
1091
|
|
|
1006
1092
|
```js
|
|
1007
|
-
import qs from
|
|
1008
|
-
const data = {
|
|
1093
|
+
import qs from "qs";
|
|
1094
|
+
const data = { bar: 123 };
|
|
1009
1095
|
const options = {
|
|
1010
|
-
method:
|
|
1011
|
-
headers: {
|
|
1096
|
+
method: "POST",
|
|
1097
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
1012
1098
|
data: qs.stringify(data),
|
|
1013
1099
|
url,
|
|
1014
1100
|
};
|
|
@@ -1020,8 +1106,8 @@ axios(options);
|
|
|
1020
1106
|
For older Node.js engines, you can use the [`querystring`](https://nodejs.org/api/querystring.html) module as follows:
|
|
1021
1107
|
|
|
1022
1108
|
```js
|
|
1023
|
-
const querystring = require(
|
|
1024
|
-
axios.post(
|
|
1109
|
+
const querystring = require("querystring");
|
|
1110
|
+
axios.post("https://something.com/", querystring.stringify({ foo: "bar" }));
|
|
1025
1111
|
```
|
|
1026
1112
|
|
|
1027
1113
|
You can also use the [`qs`](https://github.com/ljharb/qs) library.
|
|
@@ -1037,12 +1123,15 @@ const data = {
|
|
|
1037
1123
|
x: 1,
|
|
1038
1124
|
arr: [1, 2, 3],
|
|
1039
1125
|
arr2: [1, [2], 3],
|
|
1040
|
-
users: [
|
|
1126
|
+
users: [
|
|
1127
|
+
{ name: "Peter", surname: "Griffin" },
|
|
1128
|
+
{ name: "Thomas", surname: "Anderson" },
|
|
1129
|
+
],
|
|
1041
1130
|
};
|
|
1042
1131
|
|
|
1043
|
-
await axios.postForm(
|
|
1044
|
-
|
|
1045
|
-
);
|
|
1132
|
+
await axios.postForm("https://postman-echo.com/post", data, {
|
|
1133
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
1134
|
+
});
|
|
1046
1135
|
```
|
|
1047
1136
|
|
|
1048
1137
|
The server will handle it as:
|
|
@@ -1060,48 +1149,48 @@ The server will handle it as:
|
|
|
1060
1149
|
'users[1][name]': 'Thomas',
|
|
1061
1150
|
'users[1][surname]': 'Anderson'
|
|
1062
1151
|
}
|
|
1063
|
-
|
|
1152
|
+
```
|
|
1064
1153
|
|
|
1065
1154
|
If your backend body-parser (like `body-parser` of `express.js`) supports nested objects decoding, you will get the same object on the server-side automatically
|
|
1066
1155
|
|
|
1067
1156
|
```js
|
|
1068
|
-
|
|
1157
|
+
const app = express();
|
|
1069
1158
|
|
|
1070
|
-
|
|
1159
|
+
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
|
|
1071
1160
|
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1161
|
+
app.post("/", function (req, res, next) {
|
|
1162
|
+
// echo body as JSON
|
|
1163
|
+
res.send(JSON.stringify(req.body));
|
|
1164
|
+
});
|
|
1076
1165
|
|
|
1077
|
-
|
|
1166
|
+
server = app.listen(3000);
|
|
1078
1167
|
```
|
|
1079
1168
|
|
|
1080
1169
|
## Using `multipart/form-data` format
|
|
1081
1170
|
|
|
1082
1171
|
### FormData
|
|
1083
1172
|
|
|
1084
|
-
To send the data as a `multipart/
|
|
1173
|
+
To send the data as a `multipart/form-data` you need to pass a formData instance as a payload.
|
|
1085
1174
|
Setting the `Content-Type` header is not required as Axios guesses it based on the payload type.
|
|
1086
1175
|
|
|
1087
1176
|
```js
|
|
1088
1177
|
const formData = new FormData();
|
|
1089
|
-
formData.append(
|
|
1178
|
+
formData.append("foo", "bar");
|
|
1090
1179
|
|
|
1091
|
-
axios.post(
|
|
1180
|
+
axios.post("https://httpbin.org/post", formData);
|
|
1092
1181
|
```
|
|
1093
1182
|
|
|
1094
1183
|
In node.js, you can use the [`form-data`](https://github.com/form-data/form-data) library as follows:
|
|
1095
1184
|
|
|
1096
1185
|
```js
|
|
1097
|
-
const FormData = require(
|
|
1186
|
+
const FormData = require("form-data");
|
|
1098
1187
|
|
|
1099
1188
|
const form = new FormData();
|
|
1100
|
-
form.append(
|
|
1101
|
-
form.append(
|
|
1102
|
-
form.append(
|
|
1189
|
+
form.append("my_field", "my value");
|
|
1190
|
+
form.append("my_buffer", Buffer.alloc(10));
|
|
1191
|
+
form.append("my_file", fs.createReadStream("/foo/bar.jpg"));
|
|
1103
1192
|
|
|
1104
|
-
axios.post(
|
|
1193
|
+
axios.post("https://example.com", form);
|
|
1105
1194
|
```
|
|
1106
1195
|
|
|
1107
1196
|
### π Automatic serialization to FormData
|
|
@@ -1112,13 +1201,19 @@ header is set to `multipart/form-data`.
|
|
|
1112
1201
|
The following request will submit the data in a FormData format (Browser & Node.js):
|
|
1113
1202
|
|
|
1114
1203
|
```js
|
|
1115
|
-
import axios from
|
|
1204
|
+
import axios from "axios";
|
|
1116
1205
|
|
|
1117
|
-
axios
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1206
|
+
axios
|
|
1207
|
+
.post(
|
|
1208
|
+
"https://httpbin.org/post",
|
|
1209
|
+
{ x: 1 },
|
|
1210
|
+
{
|
|
1211
|
+
headers: {
|
|
1212
|
+
"Content-Type": "multipart/form-data",
|
|
1213
|
+
},
|
|
1214
|
+
},
|
|
1215
|
+
)
|
|
1216
|
+
.then(({ data }) => console.log(data));
|
|
1122
1217
|
```
|
|
1123
1218
|
|
|
1124
1219
|
In the `node.js` build, the ([`form-data`](https://github.com/form-data/form-data)) polyfill is used by default.
|
|
@@ -1127,14 +1222,20 @@ You can overload the FormData class by setting the `env.FormData` config variabl
|
|
|
1127
1222
|
but you probably won't need it in most cases:
|
|
1128
1223
|
|
|
1129
1224
|
```js
|
|
1130
|
-
const axios = require(
|
|
1131
|
-
var FormData = require(
|
|
1132
|
-
|
|
1133
|
-
axios
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1225
|
+
const axios = require("axios");
|
|
1226
|
+
var FormData = require("form-data");
|
|
1227
|
+
|
|
1228
|
+
axios
|
|
1229
|
+
.post(
|
|
1230
|
+
"https://httpbin.org/post",
|
|
1231
|
+
{ x: 1, buf: Buffer.alloc(10) },
|
|
1232
|
+
{
|
|
1233
|
+
headers: {
|
|
1234
|
+
"Content-Type": "multipart/form-data",
|
|
1235
|
+
},
|
|
1236
|
+
},
|
|
1237
|
+
)
|
|
1238
|
+
.then(({ data }) => console.log(data));
|
|
1138
1239
|
```
|
|
1139
1240
|
|
|
1140
1241
|
Axios FormData serializer supports some special endings to perform the following operations:
|
|
@@ -1147,18 +1248,17 @@ Axios FormData serializer supports some special endings to perform the following
|
|
|
1147
1248
|
FormData serializer supports additional options via `config.formSerializer: object` property to handle rare cases:
|
|
1148
1249
|
|
|
1149
1250
|
- `visitor: Function` - user-defined visitor function that will be called recursively to serialize the data object
|
|
1150
|
-
to a `FormData` object by following custom rules.
|
|
1251
|
+
to a `FormData` object by following custom rules.
|
|
1151
1252
|
|
|
1152
1253
|
- `dots: boolean = false` - use dot notation instead of brackets to serialize arrays and objects;
|
|
1153
1254
|
|
|
1154
1255
|
- `metaTokens: boolean = true` - add the special ending (e.g `user{}: '{"name": "John"}'`) in the FormData key.
|
|
1155
|
-
The back-end body-parser could potentially use this meta-information to automatically parse the value as JSON.
|
|
1256
|
+
The back-end body-parser could potentially use this meta-information to automatically parse the value as JSON.
|
|
1156
1257
|
|
|
1157
1258
|
- `indexes: null|false|true = false` - controls how indexes will be added to unwrapped keys of `flat` array-like objects.
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
- `true` - add brackets with indexes (`arr[0]: 1`, `arr[1]: 2`, `arr[2]: 3`)
|
|
1259
|
+
- `null` - don't add brackets (`arr: 1`, `arr: 2`, `arr: 3`)
|
|
1260
|
+
- `false`(default) - add empty brackets (`arr[]: 1`, `arr[]: 2`, `arr[]: 3`)
|
|
1261
|
+
- `true` - add brackets with indexes (`arr[0]: 1`, `arr[1]: 2`, `arr[2]: 3`)
|
|
1162
1262
|
|
|
1163
1263
|
Let's say we have an object like this one:
|
|
1164
1264
|
|
|
@@ -1167,8 +1267,11 @@ const obj = {
|
|
|
1167
1267
|
x: 1,
|
|
1168
1268
|
arr: [1, 2, 3],
|
|
1169
1269
|
arr2: [1, [2], 3],
|
|
1170
|
-
users: [
|
|
1171
|
-
|
|
1270
|
+
users: [
|
|
1271
|
+
{ name: "Peter", surname: "Griffin" },
|
|
1272
|
+
{ name: "Thomas", surname: "Anderson" },
|
|
1273
|
+
],
|
|
1274
|
+
"obj2{}": [{ x: 1 }],
|
|
1172
1275
|
};
|
|
1173
1276
|
```
|
|
1174
1277
|
|
|
@@ -1176,18 +1279,18 @@ The following steps will be executed by the Axios serializer internally:
|
|
|
1176
1279
|
|
|
1177
1280
|
```js
|
|
1178
1281
|
const formData = new FormData();
|
|
1179
|
-
formData.append(
|
|
1180
|
-
formData.append(
|
|
1181
|
-
formData.append(
|
|
1182
|
-
formData.append(
|
|
1183
|
-
formData.append(
|
|
1184
|
-
formData.append(
|
|
1185
|
-
formData.append(
|
|
1186
|
-
formData.append(
|
|
1187
|
-
formData.append(
|
|
1188
|
-
formData.append(
|
|
1189
|
-
formData.append(
|
|
1190
|
-
formData.append(
|
|
1282
|
+
formData.append("x", "1");
|
|
1283
|
+
formData.append("arr[]", "1");
|
|
1284
|
+
formData.append("arr[]", "2");
|
|
1285
|
+
formData.append("arr[]", "3");
|
|
1286
|
+
formData.append("arr2[0]", "1");
|
|
1287
|
+
formData.append("arr2[1][0]", "2");
|
|
1288
|
+
formData.append("arr2[2]", "3");
|
|
1289
|
+
formData.append("users[0][name]", "Peter");
|
|
1290
|
+
formData.append("users[0][surname]", "Griffin");
|
|
1291
|
+
formData.append("users[1][name]", "Thomas");
|
|
1292
|
+
formData.append("users[1][surname]", "Anderson");
|
|
1293
|
+
formData.append("obj2{}", '[{"x":1}]');
|
|
1191
1294
|
```
|
|
1192
1295
|
|
|
1193
1296
|
Axios supports the following shortcut methods: `postForm`, `putForm`, `patchForm`
|
|
@@ -1198,55 +1301,65 @@ which are just the corresponding http methods with the `Content-Type` header pre
|
|
|
1198
1301
|
You can easily submit a single file:
|
|
1199
1302
|
|
|
1200
1303
|
```js
|
|
1201
|
-
await axios.postForm(
|
|
1202
|
-
|
|
1203
|
-
|
|
1304
|
+
await axios.postForm("https://httpbin.org/post", {
|
|
1305
|
+
myVar: "foo",
|
|
1306
|
+
file: document.querySelector("#fileInput").files[0],
|
|
1204
1307
|
});
|
|
1205
1308
|
```
|
|
1206
1309
|
|
|
1207
1310
|
or multiple files as `multipart/form-data`:
|
|
1208
1311
|
|
|
1209
1312
|
```js
|
|
1210
|
-
await axios.postForm(
|
|
1211
|
-
|
|
1313
|
+
await axios.postForm("https://httpbin.org/post", {
|
|
1314
|
+
"files[]": document.querySelector("#fileInput").files,
|
|
1212
1315
|
});
|
|
1213
1316
|
```
|
|
1214
1317
|
|
|
1215
1318
|
`FileList` object can be passed directly:
|
|
1216
1319
|
|
|
1217
1320
|
```js
|
|
1218
|
-
await axios.postForm(
|
|
1321
|
+
await axios.postForm(
|
|
1322
|
+
"https://httpbin.org/post",
|
|
1323
|
+
document.querySelector("#fileInput").files,
|
|
1324
|
+
);
|
|
1219
1325
|
```
|
|
1220
1326
|
|
|
1221
1327
|
All files will be sent with the same field names: `files[]`.
|
|
1222
1328
|
|
|
1223
1329
|
## π HTML Form Posting (browser)
|
|
1224
1330
|
|
|
1225
|
-
Pass HTML Form element as a payload to submit it as `multipart/form-data` content.
|
|
1331
|
+
Pass an HTML Form element as a payload to submit it as `multipart/form-data` content.
|
|
1226
1332
|
|
|
1227
1333
|
```js
|
|
1228
|
-
await axios.postForm(
|
|
1334
|
+
await axios.postForm(
|
|
1335
|
+
"https://httpbin.org/post",
|
|
1336
|
+
document.querySelector("#htmlForm"),
|
|
1337
|
+
);
|
|
1229
1338
|
```
|
|
1230
1339
|
|
|
1231
1340
|
`FormData` and `HTMLForm` objects can also be posted as `JSON` by explicitly setting the `Content-Type` header to `application/json`:
|
|
1232
1341
|
|
|
1233
1342
|
```js
|
|
1234
|
-
await axios.post(
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1343
|
+
await axios.post(
|
|
1344
|
+
"https://httpbin.org/post",
|
|
1345
|
+
document.querySelector("#htmlForm"),
|
|
1346
|
+
{
|
|
1347
|
+
headers: {
|
|
1348
|
+
"Content-Type": "application/json",
|
|
1349
|
+
},
|
|
1350
|
+
},
|
|
1351
|
+
);
|
|
1239
1352
|
```
|
|
1240
1353
|
|
|
1241
1354
|
For example, the Form
|
|
1242
1355
|
|
|
1243
1356
|
```html
|
|
1244
1357
|
<form id="form">
|
|
1245
|
-
<input type="text" name="foo" value="1"
|
|
1246
|
-
<input type="text" name="deep.prop" value="2"
|
|
1247
|
-
<input type="text" name="deep prop spaced" value="3"
|
|
1248
|
-
<input type="text" name="baz" value="4"
|
|
1249
|
-
<input type="text" name="baz" value="5"
|
|
1358
|
+
<input type="text" name="foo" value="1" />
|
|
1359
|
+
<input type="text" name="deep.prop" value="2" />
|
|
1360
|
+
<input type="text" name="deep prop spaced" value="3" />
|
|
1361
|
+
<input type="text" name="baz" value="4" />
|
|
1362
|
+
<input type="text" name="baz" value="5" />
|
|
1250
1363
|
|
|
1251
1364
|
<select name="user.age">
|
|
1252
1365
|
<option value="value1">Value 1</option>
|
|
@@ -1254,7 +1367,7 @@ For example, the Form
|
|
|
1254
1367
|
<option value="value3">Value 3</option>
|
|
1255
1368
|
</select>
|
|
1256
1369
|
|
|
1257
|
-
<input type="submit" value="Save"
|
|
1370
|
+
<input type="submit" value="Save" />
|
|
1258
1371
|
</form>
|
|
1259
1372
|
```
|
|
1260
1373
|
|
|
@@ -1276,7 +1389,7 @@ will be submitted as the following JSON object:
|
|
|
1276
1389
|
"age": "value2"
|
|
1277
1390
|
}
|
|
1278
1391
|
}
|
|
1279
|
-
|
|
1392
|
+
```
|
|
1280
1393
|
|
|
1281
1394
|
Sending `Blobs`/`Files` as JSON (`base64`) is not currently supported.
|
|
1282
1395
|
|
|
@@ -1309,42 +1422,43 @@ await axios.post(url, data, {
|
|
|
1309
1422
|
rate?: number; // download speed in bytes
|
|
1310
1423
|
download: true; // download sign
|
|
1311
1424
|
}*/
|
|
1312
|
-
}
|
|
1425
|
+
},
|
|
1313
1426
|
});
|
|
1314
1427
|
```
|
|
1315
1428
|
|
|
1316
1429
|
You can also track stream upload/download progress in node.js:
|
|
1317
1430
|
|
|
1318
1431
|
```js
|
|
1319
|
-
const {data} = await axios.post(SERVER_URL, readableStream, {
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1432
|
+
const { data } = await axios.post(SERVER_URL, readableStream, {
|
|
1433
|
+
onUploadProgress: ({ progress }) => {
|
|
1434
|
+
console.log((progress * 100).toFixed(2));
|
|
1435
|
+
},
|
|
1323
1436
|
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1437
|
+
headers: {
|
|
1438
|
+
"Content-Length": contentLength,
|
|
1439
|
+
},
|
|
1327
1440
|
|
|
1328
|
-
|
|
1441
|
+
maxRedirects: 0, // avoid buffering the entire stream
|
|
1329
1442
|
});
|
|
1330
|
-
|
|
1443
|
+
```
|
|
1331
1444
|
|
|
1332
1445
|
> **Note:**
|
|
1333
1446
|
> Capturing FormData upload progress is not currently supported in node.js environments.
|
|
1334
1447
|
|
|
1335
1448
|
> **β οΈ Warning**
|
|
1336
1449
|
> It is recommended to disable redirects by setting maxRedirects: 0 to upload the stream in the **node.js** environment,
|
|
1337
|
-
> as follow-redirects package will buffer the entire stream in RAM without following the "backpressure" algorithm.
|
|
1338
|
-
|
|
1450
|
+
> as the follow-redirects package will buffer the entire stream in RAM without following the "backpressure" algorithm.
|
|
1339
1451
|
|
|
1340
1452
|
## π Rate limiting
|
|
1341
1453
|
|
|
1342
1454
|
Download and upload rate limits can only be set for the http adapter (node.js):
|
|
1343
1455
|
|
|
1344
1456
|
```js
|
|
1345
|
-
const {data} = await axios.post(LOCAL_SERVER_URL, myBuffer, {
|
|
1346
|
-
onUploadProgress: ({progress, rate}) => {
|
|
1347
|
-
console.log(
|
|
1457
|
+
const { data } = await axios.post(LOCAL_SERVER_URL, myBuffer, {
|
|
1458
|
+
onUploadProgress: ({ progress, rate }) => {
|
|
1459
|
+
console.log(
|
|
1460
|
+
`Upload [${(progress * 100).toFixed(2)}%]: ${(rate / 1024).toFixed(2)}KB/s`,
|
|
1461
|
+
);
|
|
1348
1462
|
},
|
|
1349
1463
|
|
|
1350
1464
|
maxRate: [100 * 1024], // 100KB/s limit
|
|
@@ -1355,8 +1469,8 @@ const {data} = await axios.post(LOCAL_SERVER_URL, myBuffer, {
|
|
|
1355
1469
|
|
|
1356
1470
|
Axios has its own `AxiosHeaders` class to manipulate headers using a Map-like API that guarantees caseless work.
|
|
1357
1471
|
Although HTTP is case-insensitive in headers, Axios will retain the case of the original header for stylistic reasons
|
|
1358
|
-
and
|
|
1359
|
-
The old approach of directly manipulating headers object is still available, but deprecated and not recommended for future usage.
|
|
1472
|
+
and as a workaround when servers mistakenly consider the header's case.
|
|
1473
|
+
The old approach of directly manipulating the headers object is still available, but deprecated and not recommended for future usage.
|
|
1360
1474
|
|
|
1361
1475
|
### Working with headers
|
|
1362
1476
|
|
|
@@ -1366,6 +1480,7 @@ The final headers object with string values is obtained by Axios by calling the
|
|
|
1366
1480
|
> Note: By JSON here we mean an object consisting only of string values intended to be sent over the network.
|
|
1367
1481
|
|
|
1368
1482
|
The header value can be one of the following types:
|
|
1483
|
+
|
|
1369
1484
|
- `string` - normal string value that will be sent to the server
|
|
1370
1485
|
- `null` - skip header when rendering to JSON
|
|
1371
1486
|
- `false` - skip header when rendering to JSON, additionally indicates that `set` method must be called with `rewrite` option set to `true`
|
|
@@ -1377,42 +1492,41 @@ The header value can be one of the following types:
|
|
|
1377
1492
|
The headers object is always initialized inside interceptors and transformers:
|
|
1378
1493
|
|
|
1379
1494
|
```ts
|
|
1380
|
-
|
|
1381
|
-
|
|
1495
|
+
axios.interceptors.request.use((request: InternalAxiosRequestConfig) => {
|
|
1496
|
+
request.headers.set("My-header", "value");
|
|
1382
1497
|
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1498
|
+
request.headers.set({
|
|
1499
|
+
"My-set-header1": "my-set-value1",
|
|
1500
|
+
"My-set-header2": "my-set-value2",
|
|
1501
|
+
});
|
|
1387
1502
|
|
|
1388
|
-
|
|
1503
|
+
request.headers.set("User-Agent", false); // disable subsequent setting the header by Axios
|
|
1389
1504
|
|
|
1390
|
-
|
|
1505
|
+
request.headers.setContentType("text/plain");
|
|
1391
1506
|
|
|
1392
|
-
|
|
1507
|
+
request.headers["My-set-header2"] = "newValue"; // direct access is deprecated
|
|
1393
1508
|
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
````
|
|
1509
|
+
return request;
|
|
1510
|
+
});
|
|
1511
|
+
```
|
|
1398
1512
|
|
|
1399
1513
|
You can iterate over an `AxiosHeaders` instance using a `for...of` statement:
|
|
1400
1514
|
|
|
1401
|
-
|
|
1515
|
+
```js
|
|
1402
1516
|
const headers = new AxiosHeaders({
|
|
1403
|
-
foo:
|
|
1404
|
-
bar:
|
|
1405
|
-
baz:
|
|
1517
|
+
foo: "1",
|
|
1518
|
+
bar: "2",
|
|
1519
|
+
baz: "3",
|
|
1406
1520
|
});
|
|
1407
1521
|
|
|
1408
|
-
for(const [header, value] of headers) {
|
|
1522
|
+
for (const [header, value] of headers) {
|
|
1409
1523
|
console.log(header, value);
|
|
1410
1524
|
}
|
|
1411
1525
|
|
|
1412
1526
|
// foo 1
|
|
1413
1527
|
// bar 2
|
|
1414
1528
|
// baz 3
|
|
1415
|
-
|
|
1529
|
+
```
|
|
1416
1530
|
|
|
1417
1531
|
### new AxiosHeaders(headers?)
|
|
1418
1532
|
|
|
@@ -1424,7 +1538,7 @@ constructor(headers?: RawAxiosHeaders | AxiosHeaders | string);
|
|
|
1424
1538
|
|
|
1425
1539
|
If the headers object is a string, it will be parsed as RAW HTTP headers.
|
|
1426
1540
|
|
|
1427
|
-
|
|
1541
|
+
```js
|
|
1428
1542
|
const headers = new AxiosHeaders(`
|
|
1429
1543
|
Host: www.bing.com
|
|
1430
1544
|
User-Agent: curl/7.54.0
|
|
@@ -1437,7 +1551,7 @@ console.log(headers);
|
|
|
1437
1551
|
// 'user-agent': 'curl/7.54.0',
|
|
1438
1552
|
// accept: '*/*'
|
|
1439
1553
|
// }
|
|
1440
|
-
|
|
1554
|
+
```
|
|
1441
1555
|
|
|
1442
1556
|
### AxiosHeaders#set
|
|
1443
1557
|
|
|
@@ -1448,7 +1562,8 @@ set(headers?: RawAxiosHeaders | AxiosHeaders | string, rewrite?: boolean);
|
|
|
1448
1562
|
```
|
|
1449
1563
|
|
|
1450
1564
|
The `rewrite` argument controls the overwriting behavior:
|
|
1451
|
-
|
|
1565
|
+
|
|
1566
|
+
- `false` - do not overwrite if the header's value is set (is not `undefined`)
|
|
1452
1567
|
- `undefined` (default) - overwrite the header unless its value is set to `false`
|
|
1453
1568
|
- `true` - rewrite anyway
|
|
1454
1569
|
|
|
@@ -1461,34 +1576,34 @@ Returns `this`.
|
|
|
1461
1576
|
```
|
|
1462
1577
|
get(headerName: string, matcher?: true | AxiosHeaderMatcher): AxiosHeaderValue;
|
|
1463
1578
|
get(headerName: string, parser: RegExp): RegExpExecArray | null;
|
|
1464
|
-
|
|
1579
|
+
```
|
|
1465
1580
|
|
|
1466
1581
|
Returns the internal value of the header. It can take an extra argument to parse the header's value with `RegExp.exec`,
|
|
1467
1582
|
matcher function or internal key-value parser.
|
|
1468
1583
|
|
|
1469
1584
|
```ts
|
|
1470
1585
|
const headers = new AxiosHeaders({
|
|
1471
|
-
|
|
1586
|
+
"Content-Type": "multipart/form-data; boundary=Asrf456BGe4h",
|
|
1472
1587
|
});
|
|
1473
1588
|
|
|
1474
|
-
console.log(headers.get(
|
|
1589
|
+
console.log(headers.get("Content-Type"));
|
|
1475
1590
|
// multipart/form-data; boundary=Asrf456BGe4h
|
|
1476
1591
|
|
|
1477
|
-
console.log(headers.get(
|
|
1592
|
+
console.log(headers.get("Content-Type", true)); // parse key-value pairs from a string separated with \s,;= delimiters:
|
|
1478
1593
|
// [Object: null prototype] {
|
|
1479
1594
|
// 'multipart/form-data': undefined,
|
|
1480
1595
|
// boundary: 'Asrf456BGe4h'
|
|
1481
1596
|
// }
|
|
1482
1597
|
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
})
|
|
1598
|
+
console.log(
|
|
1599
|
+
headers.get("Content-Type", (value, name, headers) => {
|
|
1600
|
+
return String(value).replace(/a/g, "ZZZ");
|
|
1601
|
+
}),
|
|
1602
|
+
);
|
|
1487
1603
|
// multipZZZrt/form-dZZZtZZZ; boundZZZry=Asrf456BGe4h
|
|
1488
1604
|
|
|
1489
|
-
console.log(headers.get(
|
|
1605
|
+
console.log(headers.get("Content-Type", /boundary=(\w+)/)?.[0]);
|
|
1490
1606
|
// boundary=Asrf456BGe4h
|
|
1491
|
-
|
|
1492
1607
|
```
|
|
1493
1608
|
|
|
1494
1609
|
Returns the value of the header.
|
|
@@ -1520,9 +1635,9 @@ Unlike the `delete` method matcher, this optional matcher will be used to match
|
|
|
1520
1635
|
|
|
1521
1636
|
```ts
|
|
1522
1637
|
const headers = new AxiosHeaders({
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1638
|
+
foo: "1",
|
|
1639
|
+
"x-foo": "2",
|
|
1640
|
+
"x-bar": "3",
|
|
1526
1641
|
});
|
|
1527
1642
|
|
|
1528
1643
|
console.log(headers.clear(/^x-/)); // true
|
|
@@ -1537,15 +1652,15 @@ Returns `true` if at least one header has been cleared.
|
|
|
1537
1652
|
If the headers object was changed directly, it can have duplicates with the same name but in different cases.
|
|
1538
1653
|
This method normalizes the headers object by combining duplicate keys into one.
|
|
1539
1654
|
Axios uses this method internally after calling each interceptor.
|
|
1540
|
-
Set `format` to true for converting
|
|
1655
|
+
Set `format` to true for converting header names to lowercase and capitalizing the initial letters (`cOntEnt-type` => `Content-Type`)
|
|
1541
1656
|
|
|
1542
1657
|
```js
|
|
1543
1658
|
const headers = new AxiosHeaders({
|
|
1544
|
-
|
|
1659
|
+
foo: "1",
|
|
1545
1660
|
});
|
|
1546
1661
|
|
|
1547
|
-
headers.Foo =
|
|
1548
|
-
headers.FOO =
|
|
1662
|
+
headers.Foo = "2";
|
|
1663
|
+
headers.FOO = "3";
|
|
1549
1664
|
|
|
1550
1665
|
console.log(headers.toJSON()); // [Object: null prototype] { foo: '1', Foo: '2', FOO: '3' }
|
|
1551
1666
|
console.log(headers.normalize().toJSON()); // [Object: null prototype] { foo: '3' }
|
|
@@ -1566,27 +1681,27 @@ Returns a new `AxiosHeaders` instance.
|
|
|
1566
1681
|
|
|
1567
1682
|
### AxiosHeaders#toJSON(asStrings?)
|
|
1568
1683
|
|
|
1569
|
-
|
|
1684
|
+
```
|
|
1570
1685
|
toJSON(asStrings?: boolean): RawAxiosHeaders;
|
|
1571
|
-
|
|
1686
|
+
```
|
|
1572
1687
|
|
|
1573
|
-
Resolve all internal
|
|
1688
|
+
Resolve all internal header values into a new null prototype object.
|
|
1574
1689
|
Set `asStrings` to true to resolve arrays as a string containing all elements, separated by commas.
|
|
1575
1690
|
|
|
1576
1691
|
### AxiosHeaders.from(thing?)
|
|
1577
1692
|
|
|
1578
|
-
|
|
1693
|
+
```
|
|
1579
1694
|
from(thing?: AxiosHeaders | RawAxiosHeaders | string): AxiosHeaders;
|
|
1580
|
-
|
|
1695
|
+
```
|
|
1581
1696
|
|
|
1582
1697
|
Returns a new `AxiosHeaders` instance created from the raw headers passed in,
|
|
1583
1698
|
or simply returns the given headers object if it's an `AxiosHeaders` instance.
|
|
1584
1699
|
|
|
1585
1700
|
### AxiosHeaders.concat(...targets)
|
|
1586
1701
|
|
|
1587
|
-
|
|
1702
|
+
```
|
|
1588
1703
|
concat(...targets: Array<AxiosHeaders | RawAxiosHeaders | string | undefined | null>): AxiosHeaders;
|
|
1589
|
-
|
|
1704
|
+
```
|
|
1590
1705
|
|
|
1591
1706
|
Returns a new `AxiosHeaders` instance created by merging the target objects.
|
|
1592
1707
|
|
|
@@ -1611,22 +1726,22 @@ or not supported by the environment.
|
|
|
1611
1726
|
To use it by default, it must be selected explicitly:
|
|
1612
1727
|
|
|
1613
1728
|
```js
|
|
1614
|
-
const {data} = axios.get(url, {
|
|
1615
|
-
adapter:
|
|
1616
|
-
})
|
|
1729
|
+
const { data } = axios.get(url, {
|
|
1730
|
+
adapter: "fetch", // by default ['xhr', 'http', 'fetch']
|
|
1731
|
+
});
|
|
1617
1732
|
```
|
|
1618
1733
|
|
|
1619
1734
|
You can create a separate instance for this:
|
|
1620
1735
|
|
|
1621
1736
|
```js
|
|
1622
1737
|
const fetchAxios = axios.create({
|
|
1623
|
-
adapter:
|
|
1738
|
+
adapter: "fetch",
|
|
1624
1739
|
});
|
|
1625
1740
|
|
|
1626
|
-
const {data} = fetchAxios.get(url);
|
|
1741
|
+
const { data } = fetchAxios.get(url);
|
|
1627
1742
|
```
|
|
1628
1743
|
|
|
1629
|
-
The adapter supports the same functionality as `xhr` adapter, **including upload and download progress capturing**.
|
|
1744
|
+
The adapter supports the same functionality as the `xhr` adapter, **including upload and download progress capturing**.
|
|
1630
1745
|
Also, it supports additional response types such as `stream` and `formdata` (if supported by the environment).
|
|
1631
1746
|
|
|
1632
1747
|
### π₯ Custom fetch
|
|
@@ -1644,18 +1759,18 @@ you must disable their use inside the fetch adapter by passing null.
|
|
|
1644
1759
|
Basic example:
|
|
1645
1760
|
|
|
1646
1761
|
```js
|
|
1647
|
-
import customFetchFunction from
|
|
1762
|
+
import customFetchFunction from "customFetchModule";
|
|
1648
1763
|
|
|
1649
1764
|
const instance = axios.create({
|
|
1650
|
-
adapter:
|
|
1765
|
+
adapter: "fetch",
|
|
1651
1766
|
onDownloadProgress(e) {
|
|
1652
|
-
console.log(
|
|
1767
|
+
console.log("downloadProgress", e);
|
|
1653
1768
|
},
|
|
1654
1769
|
env: {
|
|
1655
1770
|
fetch: customFetchFunction,
|
|
1656
1771
|
Request: null, // undefined -> use the global constructor
|
|
1657
|
-
Response: null
|
|
1658
|
-
}
|
|
1772
|
+
Response: null,
|
|
1773
|
+
},
|
|
1659
1774
|
});
|
|
1660
1775
|
```
|
|
1661
1776
|
|
|
@@ -1668,16 +1783,16 @@ import { fetch } from "@tauri-apps/plugin-http";
|
|
|
1668
1783
|
import axios from "axios";
|
|
1669
1784
|
|
|
1670
1785
|
const instance = axios.create({
|
|
1671
|
-
adapter:
|
|
1786
|
+
adapter: "fetch",
|
|
1672
1787
|
onDownloadProgress(e) {
|
|
1673
|
-
console.log(
|
|
1788
|
+
console.log("downloadProgress", e);
|
|
1674
1789
|
},
|
|
1675
1790
|
env: {
|
|
1676
|
-
fetch
|
|
1677
|
-
}
|
|
1791
|
+
fetch,
|
|
1792
|
+
},
|
|
1678
1793
|
});
|
|
1679
1794
|
|
|
1680
|
-
|
|
1795
|
+
const { data } = await instance.get("https://google.com");
|
|
1681
1796
|
```
|
|
1682
1797
|
|
|
1683
1798
|
#### π₯ Using with SvelteKit
|
|
@@ -1687,14 +1802,17 @@ which makes it incompatible with the standard URL API. So, Axios must be configu
|
|
|
1687
1802
|
|
|
1688
1803
|
```js
|
|
1689
1804
|
export async function load({ fetch }) {
|
|
1690
|
-
const {data: post} = await axios.get(
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
fetch,
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1805
|
+
const { data: post } = await axios.get(
|
|
1806
|
+
"https://jsonplaceholder.typicode.com/posts/1",
|
|
1807
|
+
{
|
|
1808
|
+
adapter: "fetch",
|
|
1809
|
+
env: {
|
|
1810
|
+
fetch,
|
|
1811
|
+
Request: null,
|
|
1812
|
+
Response: null,
|
|
1813
|
+
},
|
|
1814
|
+
},
|
|
1815
|
+
);
|
|
1698
1816
|
|
|
1699
1817
|
return { post };
|
|
1700
1818
|
}
|
|
@@ -1702,7 +1820,7 @@ export async function load({ fetch }) {
|
|
|
1702
1820
|
|
|
1703
1821
|
## π₯ HTTP2
|
|
1704
1822
|
|
|
1705
|
-
In version `1.13.0`, experimental `HTTP2` support was added to the `http` adapter.
|
|
1823
|
+
In version `1.13.0`, experimental `HTTP2` support was added to the `http` adapter.
|
|
1706
1824
|
The `httpVersion` option is now available to select the protocol version used.
|
|
1707
1825
|
Additional native options for the internal `session.request()` call can be passed via the `http2Options` config.
|
|
1708
1826
|
This config also includes the custom `sessionTimeout` parameter, which defaults to `1000ms`.
|
|
@@ -1710,22 +1828,26 @@ This config also includes the custom `sessionTimeout` parameter, which defaults
|
|
|
1710
1828
|
```js
|
|
1711
1829
|
const form = new FormData();
|
|
1712
1830
|
|
|
1713
|
-
|
|
1831
|
+
form.append("foo", "123");
|
|
1714
1832
|
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1833
|
+
const { data, headers, status } = await axios.post(
|
|
1834
|
+
"https://httpbin.org/post",
|
|
1835
|
+
form,
|
|
1836
|
+
{
|
|
1837
|
+
httpVersion: 2,
|
|
1838
|
+
http2Options: {
|
|
1839
|
+
// rejectUnauthorized: false,
|
|
1840
|
+
// sessionTimeout: 1000
|
|
1841
|
+
},
|
|
1842
|
+
onUploadProgress(e) {
|
|
1843
|
+
console.log("upload progress", e);
|
|
1844
|
+
},
|
|
1845
|
+
onDownloadProgress(e) {
|
|
1846
|
+
console.log("download progress", e);
|
|
1847
|
+
},
|
|
1848
|
+
responseType: "arraybuffer",
|
|
1849
|
+
},
|
|
1850
|
+
);
|
|
1729
1851
|
```
|
|
1730
1852
|
|
|
1731
1853
|
## Semver
|
|
@@ -1744,7 +1866,7 @@ axios includes [TypeScript](https://typescriptlang.org) definitions and a type g
|
|
|
1744
1866
|
```typescript
|
|
1745
1867
|
let user: User = null;
|
|
1746
1868
|
try {
|
|
1747
|
-
const { data } = await axios.get(
|
|
1869
|
+
const { data } = await axios.get("/user?ID=12345");
|
|
1748
1870
|
user = data.userDetails;
|
|
1749
1871
|
} catch (error) {
|
|
1750
1872
|
if (axios.isAxiosError(error)) {
|
|
@@ -1761,19 +1883,34 @@ If use ESM, your settings should be fine.
|
|
|
1761
1883
|
If you compile TypeScript to CJS and you canβt use `"moduleResolution": "node 16"`, you have to enable `esModuleInterop`.
|
|
1762
1884
|
If you use TypeScript to type check CJS JavaScript code, your only option is to use `"moduleResolution": "node16"`.
|
|
1763
1885
|
|
|
1886
|
+
You can also create a custom instance with typed interceptors:
|
|
1887
|
+
|
|
1888
|
+
```typescript
|
|
1889
|
+
import axios, { AxiosInstance, InternalAxiosRequestConfig } from "axios";
|
|
1890
|
+
|
|
1891
|
+
const apiClient: AxiosInstance = axios.create({
|
|
1892
|
+
baseURL: "https://api.example.com",
|
|
1893
|
+
timeout: 10000,
|
|
1894
|
+
});
|
|
1895
|
+
|
|
1896
|
+
apiClient.interceptors.request.use((config: InternalAxiosRequestConfig) => {
|
|
1897
|
+
// Add auth token
|
|
1898
|
+
return config;
|
|
1899
|
+
});
|
|
1900
|
+
```
|
|
1901
|
+
|
|
1764
1902
|
## Online one-click setup
|
|
1765
1903
|
|
|
1766
1904
|
You can use Gitpod, an online IDE(which is free for Open Source) for contributing or running the examples online.
|
|
1767
1905
|
|
|
1768
1906
|
[](https://gitpod.io/#https://github.com/axios/axios/blob/main/examples/server.js)
|
|
1769
1907
|
|
|
1770
|
-
|
|
1771
1908
|
## Resources
|
|
1772
1909
|
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1910
|
+
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
|
|
1911
|
+
- [Ecosystem](https://github.com/axios/axios/blob/v1.x/ECOSYSTEM.md)
|
|
1912
|
+
- [Contributing Guide](https://github.com/axios/axios/blob/v1.x/CONTRIBUTING.md)
|
|
1913
|
+
- [Code of Conduct](https://github.com/axios/axios/blob/v1.x/CODE_OF_CONDUCT.md)
|
|
1777
1914
|
|
|
1778
1915
|
## Credits
|
|
1779
1916
|
|