Socket
Socket
Sign inDemoInstall

@aws-sdk/middleware-sdk-s3

Package Overview
Dependencies
Maintainers
5
Versions
197
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-sdk/middleware-sdk-s3 - npm Package Compare versions

Comparing version 3.523.0 to 3.525.0

dist-cjs/bucket-endpoint-middleware.js

49

dist-cjs/index.js

@@ -436,3 +436,4 @@ var __defProp = Object.defineProperty;

)
)
),
bucketEndpoint: input.bucketEndpoint ?? false
};

@@ -486,3 +487,40 @@ }, "resolveS3Config");

var import_util_arn_parser = require("@aws-sdk/util-arn-parser");
function validateBucketNameMiddleware() {
// src/bucket-endpoint-middleware.ts
function bucketEndpointMiddleware(options) {
return (next, context) => async (args) => {
var _a, _b, _c, _d;
if (options.bucketEndpoint) {
const endpoint = context.endpointV2;
if (endpoint) {
const bucket = args.input.Bucket;
if (typeof bucket === "string") {
try {
const bucketEndpointUrl = new URL(bucket);
endpoint.url = bucketEndpointUrl;
} catch (e) {
const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;
if (((_b = (_a = context.logger) == null ? void 0 : _a.constructor) == null ? void 0 : _b.name) === "NoOpLogger") {
console.warn(warning);
} else {
(_d = (_c = context.logger) == null ? void 0 : _c.warn) == null ? void 0 : _d.call(_c, warning);
}
throw e;
}
}
}
}
return next(args);
};
}
__name(bucketEndpointMiddleware, "bucketEndpointMiddleware");
var bucketEndpointMiddlewareOptions = {
name: "bucketEndpointMiddleware",
override: true,
relation: "after",
toMiddleware: "endpointV2Middleware"
};
// src/validate-bucket-name.ts
function validateBucketNameMiddleware({ bucketEndpoint }) {
return (next) => async (args) => {

@@ -492,3 +530,3 @@ const {

} = args;
if (typeof Bucket === "string" && !(0, import_util_arn_parser.validate)(Bucket) && Bucket.indexOf("/") >= 0) {
if (!bucketEndpoint && typeof Bucket === "string" && !(0, import_util_arn_parser.validate)(Bucket) && Bucket.indexOf("/") >= 0) {
const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);

@@ -508,5 +546,6 @@ err.name = "InvalidBucketName";

};
var getValidateBucketNamePlugin = /* @__PURE__ */ __name((unused) => ({
var getValidateBucketNamePlugin = /* @__PURE__ */ __name((options) => ({
applyToStack: (clientStack) => {
clientStack.add(validateBucketNameMiddleware(), validateBucketNameMiddlewareOptions);
clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);
clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);
}

@@ -513,0 +552,0 @@ }), "getValidateBucketNamePlugin");

@@ -15,3 +15,4 @@ import { S3ExpressIdentityProviderImpl } from "./s3-express";

}))),
bucketEndpoint: input.bucketEndpoint ?? false,
};
};

10

dist-es/validate-bucket-name.js
import { validate as validateArn } from "@aws-sdk/util-arn-parser";
export function validateBucketNameMiddleware() {
import { bucketEndpointMiddleware, bucketEndpointMiddlewareOptions } from "./bucket-endpoint-middleware";
export function validateBucketNameMiddleware({ bucketEndpoint }) {
return (next) => async (args) => {
const { input: { Bucket }, } = args;
if (typeof Bucket === "string" && !validateArn(Bucket) && Bucket.indexOf("/") >= 0) {
if (!bucketEndpoint && typeof Bucket === "string" && !validateArn(Bucket) && Bucket.indexOf("/") >= 0) {
const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);

@@ -19,6 +20,7 @@ err.name = "InvalidBucketName";

};
export const getValidateBucketNamePlugin = (unused) => ({
export const getValidateBucketNamePlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.add(validateBucketNameMiddleware(), validateBucketNameMiddlewareOptions);
clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);
clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);
},
});

@@ -30,2 +30,6 @@ import type { Client, Command } from "@smithy/types";

s3ExpressIdentityProvider?: S3ExpressIdentityProvider;
/**
* Whether to use the bucket name as the endpoint for this client.
*/
bucketEndpoint?: boolean;
}

@@ -52,2 +56,3 @@ /**

s3ExpressIdentityProvider: S3ExpressIdentityProvider;
bucketEndpoint: boolean;
}

@@ -54,0 +59,0 @@ export declare const resolveS3Config: <T>(input: T & S3InputConfig, { session, }: {

@@ -9,2 +9,3 @@ import { Client, Command } from "@smithy/types";

s3ExpressIdentityProvider?: S3ExpressIdentityProvider;
bucketEndpoint?: boolean;
}

@@ -21,2 +22,3 @@ type PlaceholderS3Client = Client<any, any, any> & any;

s3ExpressIdentityProvider: S3ExpressIdentityProvider;
bucketEndpoint: boolean;
}

@@ -23,0 +25,0 @@ export declare const resolveS3Config: <T>(

@@ -6,9 +6,9 @@ import {

} from "@smithy/types";
export declare function validateBucketNameMiddleware(): InitializeMiddleware<
any,
any
>;
import { S3ResolvedConfig } from "./s3Configuration";
export declare function validateBucketNameMiddleware({
bucketEndpoint,
}: S3ResolvedConfig): InitializeMiddleware<any, any>;
export declare const validateBucketNameMiddlewareOptions: InitializeHandlerOptions;
export declare const getValidateBucketNamePlugin: (
unused: any
options: S3ResolvedConfig
) => Pluggable<any, any>;
import { InitializeHandlerOptions, InitializeMiddleware, Pluggable } from "@smithy/types";
import { S3ResolvedConfig } from "./s3Configuration";
/**
* @internal
*/
export declare function validateBucketNameMiddleware(): InitializeMiddleware<any, any>;
export declare function validateBucketNameMiddleware({ bucketEndpoint }: S3ResolvedConfig): InitializeMiddleware<any, any>;
/**

@@ -13,2 +14,2 @@ * @internal

*/
export declare const getValidateBucketNamePlugin: (unused: any) => Pluggable<any, any>;
export declare const getValidateBucketNamePlugin: (options: S3ResolvedConfig) => Pluggable<any, any>;
{
"name": "@aws-sdk/middleware-sdk-s3",
"version": "3.523.0",
"version": "3.525.0",
"scripts": {

@@ -28,6 +28,6 @@ "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",

"@aws-sdk/util-arn-parser": "3.495.0",
"@smithy/node-config-provider": "^2.2.3",
"@smithy/node-config-provider": "^2.2.4",
"@smithy/protocol-http": "^3.2.1",
"@smithy/signature-v4": "^2.1.3",
"@smithy/smithy-client": "^2.4.1",
"@smithy/smithy-client": "^2.4.2",
"@smithy/types": "^2.10.1",

@@ -34,0 +34,0 @@ "@smithy/util-config-provider": "^2.2.1",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc