@smithy/protocol-http
Advanced tools
+11
-169
@@ -1,169 +0,11 @@ | ||
| 'use strict'; | ||
| var types = require('@smithy/types'); | ||
| const getHttpHandlerExtensionConfiguration = (runtimeConfig) => { | ||
| return { | ||
| setHttpHandler(handler) { | ||
| runtimeConfig.httpHandler = handler; | ||
| }, | ||
| httpHandler() { | ||
| return runtimeConfig.httpHandler; | ||
| }, | ||
| updateHttpClientConfig(key, value) { | ||
| runtimeConfig.httpHandler?.updateHttpClientConfig(key, value); | ||
| }, | ||
| httpHandlerConfigs() { | ||
| return runtimeConfig.httpHandler.httpHandlerConfigs(); | ||
| }, | ||
| }; | ||
| }; | ||
| const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => { | ||
| return { | ||
| httpHandler: httpHandlerExtensionConfiguration.httpHandler(), | ||
| }; | ||
| }; | ||
| class Field { | ||
| name; | ||
| kind; | ||
| values; | ||
| constructor({ name, kind = types.FieldPosition.HEADER, values = [] }) { | ||
| this.name = name; | ||
| this.kind = kind; | ||
| this.values = values; | ||
| } | ||
| add(value) { | ||
| this.values.push(value); | ||
| } | ||
| set(values) { | ||
| this.values = values; | ||
| } | ||
| remove(value) { | ||
| this.values = this.values.filter((v) => v !== value); | ||
| } | ||
| toString() { | ||
| return this.values.map((v) => (v.includes(",") || v.includes(" ") ? `"${v}"` : v)).join(", "); | ||
| } | ||
| get() { | ||
| return this.values; | ||
| } | ||
| } | ||
| class Fields { | ||
| entries = {}; | ||
| encoding; | ||
| constructor({ fields = [], encoding = "utf-8" }) { | ||
| fields.forEach(this.setField.bind(this)); | ||
| this.encoding = encoding; | ||
| } | ||
| setField(field) { | ||
| this.entries[field.name.toLowerCase()] = field; | ||
| } | ||
| getField(name) { | ||
| return this.entries[name.toLowerCase()]; | ||
| } | ||
| removeField(name) { | ||
| delete this.entries[name.toLowerCase()]; | ||
| } | ||
| getByType(kind) { | ||
| return Object.values(this.entries).filter((field) => field.kind === kind); | ||
| } | ||
| } | ||
| class HttpRequest { | ||
| method; | ||
| protocol; | ||
| hostname; | ||
| port; | ||
| path; | ||
| query; | ||
| headers; | ||
| username; | ||
| password; | ||
| fragment; | ||
| body; | ||
| constructor(options) { | ||
| this.method = options.method || "GET"; | ||
| this.hostname = options.hostname || "localhost"; | ||
| this.port = options.port; | ||
| this.query = options.query || {}; | ||
| this.headers = options.headers || {}; | ||
| this.body = options.body; | ||
| this.protocol = options.protocol | ||
| ? options.protocol.slice(-1) !== ":" | ||
| ? `${options.protocol}:` | ||
| : options.protocol | ||
| : "https:"; | ||
| this.path = options.path ? (options.path.charAt(0) !== "/" ? `/${options.path}` : options.path) : "/"; | ||
| this.username = options.username; | ||
| this.password = options.password; | ||
| this.fragment = options.fragment; | ||
| } | ||
| static clone(request) { | ||
| const cloned = new HttpRequest({ | ||
| ...request, | ||
| headers: { ...request.headers }, | ||
| }); | ||
| if (cloned.query) { | ||
| cloned.query = cloneQuery(cloned.query); | ||
| } | ||
| return cloned; | ||
| } | ||
| static isInstance(request) { | ||
| if (!request) { | ||
| return false; | ||
| } | ||
| const req = request; | ||
| return ("method" in req && | ||
| "protocol" in req && | ||
| "hostname" in req && | ||
| "path" in req && | ||
| typeof req["query"] === "object" && | ||
| typeof req["headers"] === "object"); | ||
| } | ||
| clone() { | ||
| return HttpRequest.clone(this); | ||
| } | ||
| } | ||
| function cloneQuery(query) { | ||
| return Object.keys(query).reduce((carry, paramName) => { | ||
| const param = query[paramName]; | ||
| return { | ||
| ...carry, | ||
| [paramName]: Array.isArray(param) ? [...param] : param, | ||
| }; | ||
| }, {}); | ||
| } | ||
| class HttpResponse { | ||
| statusCode; | ||
| reason; | ||
| headers; | ||
| body; | ||
| constructor(options) { | ||
| this.statusCode = options.statusCode; | ||
| this.reason = options.reason; | ||
| this.headers = options.headers || {}; | ||
| this.body = options.body; | ||
| } | ||
| static isInstance(response) { | ||
| if (!response) | ||
| return false; | ||
| const resp = response; | ||
| return typeof resp.statusCode === "number" && typeof resp.headers === "object"; | ||
| } | ||
| } | ||
| function isValidHostname(hostname) { | ||
| const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/; | ||
| return hostPattern.test(hostname); | ||
| } | ||
| exports.Field = Field; | ||
| exports.Fields = Fields; | ||
| exports.HttpRequest = HttpRequest; | ||
| exports.HttpResponse = HttpResponse; | ||
| exports.getHttpHandlerExtensionConfiguration = getHttpHandlerExtensionConfiguration; | ||
| exports.isValidHostname = isValidHostname; | ||
| exports.resolveHttpHandlerRuntimeConfig = resolveHttpHandlerRuntimeConfig; | ||
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.resolveHttpHandlerRuntimeConfig = exports.getHttpHandlerExtensionConfiguration = exports.isValidHostname = exports.HttpResponse = exports.HttpRequest = exports.Fields = exports.Field = void 0; | ||
| var protocols_1 = require("@smithy/core/protocols"); | ||
| Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return protocols_1.Field; } }); | ||
| Object.defineProperty(exports, "Fields", { enumerable: true, get: function () { return protocols_1.Fields; } }); | ||
| Object.defineProperty(exports, "HttpRequest", { enumerable: true, get: function () { return protocols_1.HttpRequest; } }); | ||
| Object.defineProperty(exports, "HttpResponse", { enumerable: true, get: function () { return protocols_1.HttpResponse; } }); | ||
| Object.defineProperty(exports, "isValidHostname", { enumerable: true, get: function () { return protocols_1.isValidHostname; } }); | ||
| Object.defineProperty(exports, "getHttpHandlerExtensionConfiguration", { enumerable: true, get: function () { return protocols_1.getHttpHandlerExtensionConfiguration; } }); | ||
| Object.defineProperty(exports, "resolveHttpHandlerRuntimeConfig", { enumerable: true, get: function () { return protocols_1.resolveHttpHandlerRuntimeConfig; } }); |
+1
-8
@@ -1,8 +0,1 @@ | ||
| export * from "./extensions"; | ||
| export * from "./Field"; | ||
| export * from "./Fields"; | ||
| export * from "./httpHandler"; | ||
| export * from "./httpRequest"; | ||
| export * from "./httpResponse"; | ||
| export * from "./isValidHostname"; | ||
| export * from "./types"; | ||
| export { Field, Fields, HttpRequest, HttpResponse, isValidHostname, getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig, } from "@smithy/core/protocols"; |
@@ -1,8 +0,3 @@ | ||
| export * from "./extensions"; | ||
| export * from "./Field"; | ||
| export * from "./Fields"; | ||
| export * from "./httpHandler"; | ||
| export * from "./httpRequest"; | ||
| export * from "./httpResponse"; | ||
| export * from "./isValidHostname"; | ||
| export * from "./types"; | ||
| /** @deprecated Use @smithy/core/protocols instead. */ | ||
| export { Field, Fields, HttpRequest, HttpResponse, isValidHostname, getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig, } from "@smithy/core/protocols"; | ||
| export type { FieldsOptions, HttpHandler, HttpHandlerUserInput, IHttpRequest, HttpHandlerExtensionConfiguration, HttpHandlerExtensionConfigType, FieldOptions, FieldPosition, HeaderBag, HttpMessage, HttpHandlerOptions, } from "@smithy/core/protocols"; |
+5
-25
| { | ||
| "name": "@smithy/protocol-http", | ||
| "version": "5.3.14", | ||
| "version": "5.4.0", | ||
| "scripts": { | ||
| "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'", | ||
| "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline protocol-http", | ||
| "build:types": "yarn g:tsc -p tsconfig.types.json", | ||
| "build:types:downlevel": "premove dist-types/ts3.4 && downlevel-dts dist-types dist-types/ts3.4", | ||
| "clean": "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo", | ||
| "format": "prettier --config ../../prettier.config.js --ignore-path ../../.prettierignore --write \"**/*.{ts,md,json}\"", | ||
| "lint": "eslint -c ../../.eslintrc.js \"src/**/*.ts\"", | ||
| "stage-release": "premove .release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz", | ||
| "test": "yarn g:vitest run", | ||
| "test:watch": "yarn g:vitest watch" | ||
| "build": "yarn g:tsc -p tsconfig.cjs.json && yarn g:tsc -p tsconfig.es.json && yarn g:tsc -p tsconfig.types.json", | ||
| "clean": "rm -rf dist-cjs dist-es dist-types", | ||
| "stage-release": "rm -rf .release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz" | ||
| }, | ||
@@ -27,3 +20,3 @@ "main": "./dist-cjs/index.js", | ||
| "dependencies": { | ||
| "@smithy/types": "^4.14.1", | ||
| "@smithy/core": "^3.24.0", | ||
| "tslib": "^2.6.2" | ||
@@ -34,9 +27,2 @@ }, | ||
| }, | ||
| "typesVersions": { | ||
| "<4.5": { | ||
| "dist-types/*": [ | ||
| "dist-types/ts3.4/*" | ||
| ] | ||
| } | ||
| }, | ||
| "files": [ | ||
@@ -51,8 +37,2 @@ "dist-*/**" | ||
| }, | ||
| "devDependencies": { | ||
| "concurrently": "7.0.0", | ||
| "downlevel-dts": "0.10.1", | ||
| "premove": "4.0.0", | ||
| "typedoc": "0.23.23" | ||
| }, | ||
| "typedoc": { | ||
@@ -59,0 +39,0 @@ "entryPoint": "src/index.ts" |
| export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => { | ||
| return { | ||
| setHttpHandler(handler) { | ||
| runtimeConfig.httpHandler = handler; | ||
| }, | ||
| httpHandler() { | ||
| return runtimeConfig.httpHandler; | ||
| }, | ||
| updateHttpClientConfig(key, value) { | ||
| runtimeConfig.httpHandler?.updateHttpClientConfig(key, value); | ||
| }, | ||
| httpHandlerConfigs() { | ||
| return runtimeConfig.httpHandler.httpHandlerConfigs(); | ||
| }, | ||
| }; | ||
| }; | ||
| export const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => { | ||
| return { | ||
| httpHandler: httpHandlerExtensionConfiguration.httpHandler(), | ||
| }; | ||
| }; |
| export * from "./httpExtensionConfiguration"; |
| import { FieldPosition } from "@smithy/types"; | ||
| export class Field { | ||
| name; | ||
| kind; | ||
| values; | ||
| constructor({ name, kind = FieldPosition.HEADER, values = [] }) { | ||
| this.name = name; | ||
| this.kind = kind; | ||
| this.values = values; | ||
| } | ||
| add(value) { | ||
| this.values.push(value); | ||
| } | ||
| set(values) { | ||
| this.values = values; | ||
| } | ||
| remove(value) { | ||
| this.values = this.values.filter((v) => v !== value); | ||
| } | ||
| toString() { | ||
| return this.values.map((v) => (v.includes(",") || v.includes(" ") ? `"${v}"` : v)).join(", "); | ||
| } | ||
| get() { | ||
| return this.values; | ||
| } | ||
| } |
| export class Fields { | ||
| entries = {}; | ||
| encoding; | ||
| constructor({ fields = [], encoding = "utf-8" }) { | ||
| fields.forEach(this.setField.bind(this)); | ||
| this.encoding = encoding; | ||
| } | ||
| setField(field) { | ||
| this.entries[field.name.toLowerCase()] = field; | ||
| } | ||
| getField(name) { | ||
| return this.entries[name.toLowerCase()]; | ||
| } | ||
| removeField(name) { | ||
| delete this.entries[name.toLowerCase()]; | ||
| } | ||
| getByType(kind) { | ||
| return Object.values(this.entries).filter((field) => field.kind === kind); | ||
| } | ||
| } |
| export {}; |
| export class HttpRequest { | ||
| method; | ||
| protocol; | ||
| hostname; | ||
| port; | ||
| path; | ||
| query; | ||
| headers; | ||
| username; | ||
| password; | ||
| fragment; | ||
| body; | ||
| constructor(options) { | ||
| this.method = options.method || "GET"; | ||
| this.hostname = options.hostname || "localhost"; | ||
| this.port = options.port; | ||
| this.query = options.query || {}; | ||
| this.headers = options.headers || {}; | ||
| this.body = options.body; | ||
| this.protocol = options.protocol | ||
| ? options.protocol.slice(-1) !== ":" | ||
| ? `${options.protocol}:` | ||
| : options.protocol | ||
| : "https:"; | ||
| this.path = options.path ? (options.path.charAt(0) !== "/" ? `/${options.path}` : options.path) : "/"; | ||
| this.username = options.username; | ||
| this.password = options.password; | ||
| this.fragment = options.fragment; | ||
| } | ||
| static clone(request) { | ||
| const cloned = new HttpRequest({ | ||
| ...request, | ||
| headers: { ...request.headers }, | ||
| }); | ||
| if (cloned.query) { | ||
| cloned.query = cloneQuery(cloned.query); | ||
| } | ||
| return cloned; | ||
| } | ||
| static isInstance(request) { | ||
| if (!request) { | ||
| return false; | ||
| } | ||
| const req = request; | ||
| return ("method" in req && | ||
| "protocol" in req && | ||
| "hostname" in req && | ||
| "path" in req && | ||
| typeof req["query"] === "object" && | ||
| typeof req["headers"] === "object"); | ||
| } | ||
| clone() { | ||
| return HttpRequest.clone(this); | ||
| } | ||
| } | ||
| function cloneQuery(query) { | ||
| return Object.keys(query).reduce((carry, paramName) => { | ||
| const param = query[paramName]; | ||
| return { | ||
| ...carry, | ||
| [paramName]: Array.isArray(param) ? [...param] : param, | ||
| }; | ||
| }, {}); | ||
| } |
| export class HttpResponse { | ||
| statusCode; | ||
| reason; | ||
| headers; | ||
| body; | ||
| constructor(options) { | ||
| this.statusCode = options.statusCode; | ||
| this.reason = options.reason; | ||
| this.headers = options.headers || {}; | ||
| this.body = options.body; | ||
| } | ||
| static isInstance(response) { | ||
| if (!response) | ||
| return false; | ||
| const resp = response; | ||
| return typeof resp.statusCode === "number" && typeof resp.headers === "object"; | ||
| } | ||
| } |
| export function isValidHostname(hostname) { | ||
| const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/; | ||
| return hostPattern.test(hostname); | ||
| } |
| export {}; |
| import type { HttpHandler } from "../httpHandler"; | ||
| /** | ||
| * @internal | ||
| */ | ||
| export interface HttpHandlerExtensionConfiguration<HandlerConfig extends object = {}> { | ||
| setHttpHandler(handler: HttpHandler<HandlerConfig>): void; | ||
| httpHandler(): HttpHandler<HandlerConfig>; | ||
| updateHttpClientConfig(key: keyof HandlerConfig, value: HandlerConfig[typeof key]): void; | ||
| httpHandlerConfigs(): HandlerConfig; | ||
| } | ||
| /** | ||
| * @internal | ||
| */ | ||
| export type HttpHandlerExtensionConfigType<HandlerConfig extends object = {}> = Partial<{ | ||
| httpHandler: HttpHandler<HandlerConfig>; | ||
| }>; | ||
| /** | ||
| * @internal | ||
| * | ||
| * Helper function to resolve default extension configuration from runtime config | ||
| */ | ||
| export declare const getHttpHandlerExtensionConfiguration: <HandlerConfig extends object = {}>(runtimeConfig: HttpHandlerExtensionConfigType<HandlerConfig>) => { | ||
| setHttpHandler(handler: HttpHandler<HandlerConfig>): void; | ||
| httpHandler(): HttpHandler<HandlerConfig>; | ||
| updateHttpClientConfig(key: keyof HandlerConfig, value: HandlerConfig[typeof key]): void; | ||
| httpHandlerConfigs(): HandlerConfig; | ||
| }; | ||
| /** | ||
| * @internal | ||
| * | ||
| * Helper function to resolve runtime config from default extension configuration | ||
| */ | ||
| export declare const resolveHttpHandlerRuntimeConfig: <HandlerConfig extends object = {}>(httpHandlerExtensionConfiguration: HttpHandlerExtensionConfiguration<HandlerConfig>) => HttpHandlerExtensionConfigType<HandlerConfig>; |
| export * from "./httpExtensionConfiguration"; |
| import type { FieldOptions } from "@smithy/types"; | ||
| import { FieldPosition } from "@smithy/types"; | ||
| /** | ||
| * A name-value pair representing a single field | ||
| * transmitted in an HTTP Request or Response. | ||
| * | ||
| * The kind will dictate metadata placement within | ||
| * an HTTP message. | ||
| * | ||
| * All field names are case insensitive and | ||
| * case-variance must be treated as equivalent. | ||
| * Names MAY be normalized but SHOULD be preserved | ||
| * for accuracy during transmission. | ||
| */ | ||
| export declare class Field { | ||
| readonly name: string; | ||
| readonly kind: FieldPosition; | ||
| values: string[]; | ||
| constructor({ name, kind, values }: FieldOptions); | ||
| /** | ||
| * Appends a value to the field. | ||
| * | ||
| * @param value The value to append. | ||
| */ | ||
| add(value: string): void; | ||
| /** | ||
| * Overwrite existing field values. | ||
| * | ||
| * @param values The new field values. | ||
| */ | ||
| set(values: string[]): void; | ||
| /** | ||
| * Remove all matching entries from list. | ||
| * | ||
| * @param value Value to remove. | ||
| */ | ||
| remove(value: string): void; | ||
| /** | ||
| * Get comma-delimited string. | ||
| * | ||
| * @returns String representation of {@link Field}. | ||
| */ | ||
| toString(): string; | ||
| /** | ||
| * Get string values as a list | ||
| * | ||
| * @returns Values in {@link Field} as a list. | ||
| */ | ||
| get(): string[]; | ||
| } |
| import type { FieldPosition } from "@smithy/types"; | ||
| import type { Field } from "./Field"; | ||
| export type FieldsOptions = { | ||
| fields?: Field[]; | ||
| encoding?: string; | ||
| }; | ||
| /** | ||
| * Collection of Field entries mapped by name. | ||
| */ | ||
| export declare class Fields { | ||
| private readonly entries; | ||
| private readonly encoding; | ||
| constructor({ fields, encoding }: FieldsOptions); | ||
| /** | ||
| * Set entry for a {@link Field} name. The `name` | ||
| * attribute will be used to key the collection. | ||
| * | ||
| * @param field The {@link Field} to set. | ||
| */ | ||
| setField(field: Field): void; | ||
| /** | ||
| * Retrieve {@link Field} entry by name. | ||
| * | ||
| * @param name The name of the {@link Field} entry | ||
| * to retrieve | ||
| * @returns The {@link Field} if it exists. | ||
| */ | ||
| getField(name: string): Field | undefined; | ||
| /** | ||
| * Delete entry from collection. | ||
| * | ||
| * @param name Name of the entry to delete. | ||
| */ | ||
| removeField(name: string): void; | ||
| /** | ||
| * Helper function for retrieving specific types of fields. | ||
| * Used to grab all headers or all trailers. | ||
| * | ||
| * @param kind {@link FieldPosition} of entries to retrieve. | ||
| * @returns The {@link Field} entries with the specified | ||
| * {@link FieldPosition}. | ||
| */ | ||
| getByType(kind: FieldPosition): Field[]; | ||
| } |
| import type { FetchHttpHandlerOptions, HttpHandlerOptions, NodeHttpHandlerOptions, RequestHandler } from "@smithy/types"; | ||
| import type { HttpRequest } from "./httpRequest"; | ||
| import type { HttpResponse } from "./httpResponse"; | ||
| /** | ||
| * @internal | ||
| */ | ||
| export type HttpHandler<HttpHandlerConfig extends object = {}> = RequestHandler<HttpRequest, HttpResponse, HttpHandlerOptions> & { | ||
| /** | ||
| * @internal | ||
| */ | ||
| updateHttpClientConfig(key: keyof HttpHandlerConfig, value: HttpHandlerConfig[typeof key]): void; | ||
| /** | ||
| * @internal | ||
| */ | ||
| httpHandlerConfigs(): HttpHandlerConfig; | ||
| }; | ||
| /** | ||
| * @public | ||
| * | ||
| * A type representing the accepted user inputs for the `requestHandler` field | ||
| * of a client's constructor object. | ||
| * | ||
| * You may provide an instance of an HttpHandler, or alternatively | ||
| * provide the constructor arguments as an object which will be passed | ||
| * to the constructor of the default request handler. | ||
| * | ||
| * The default class constructor to which your arguments will be passed | ||
| * varies. The Node.js default is the NodeHttpHandler and the browser/react-native | ||
| * default is the FetchHttpHandler. In rarer cases specific clients may be | ||
| * configured to use other default implementations such as Websocket or HTTP2. | ||
| * | ||
| * The fallback type Record<string, unknown> is part of the union to allow | ||
| * passing constructor params to an unknown requestHandler type. | ||
| */ | ||
| export type HttpHandlerUserInput = HttpHandler | NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown>; |
| import type { HeaderBag, HttpMessage, QueryParameterBag, URI } from "@smithy/types"; | ||
| import { HttpRequest as IHttpRequest } from "@smithy/types"; | ||
| type HttpRequestOptions = Partial<HttpMessage> & Partial<URI> & { | ||
| method?: string; | ||
| }; | ||
| /** | ||
| * Use the distinct IHttpRequest interface from \@smithy/types instead. | ||
| * This should not be used due to | ||
| * overlapping with the concrete class' name. | ||
| * | ||
| * This is not marked deprecated since that would mark the concrete class | ||
| * deprecated as well. | ||
| * | ||
| * @internal | ||
| */ | ||
| export interface HttpRequest extends IHttpRequest { | ||
| } | ||
| /** | ||
| * @public | ||
| */ | ||
| export { IHttpRequest }; | ||
| /** | ||
| * @public | ||
| */ | ||
| export declare class HttpRequest implements HttpMessage, URI { | ||
| method: string; | ||
| protocol: string; | ||
| hostname: string; | ||
| port?: number; | ||
| path: string; | ||
| query: QueryParameterBag; | ||
| headers: HeaderBag; | ||
| username?: string; | ||
| password?: string; | ||
| fragment?: string; | ||
| body?: any; | ||
| constructor(options: HttpRequestOptions); | ||
| /** | ||
| * Note: this does not deep-clone the body. | ||
| */ | ||
| static clone(request: IHttpRequest): HttpRequest; | ||
| /** | ||
| * This method only actually asserts that request is the interface {@link IHttpRequest}, | ||
| * and not necessarily this concrete class. Left in place for API stability. | ||
| * | ||
| * Do not call instance methods on the input of this function, and | ||
| * do not assume it has the HttpRequest prototype. | ||
| */ | ||
| static isInstance(request: unknown): request is HttpRequest; | ||
| /** | ||
| * @deprecated use static HttpRequest.clone(request) instead. It's not safe to call | ||
| * this method because {@link HttpRequest.isInstance} incorrectly | ||
| * asserts that IHttpRequest (interface) objects are of type HttpRequest (class). | ||
| */ | ||
| clone(): HttpRequest; | ||
| } |
| import type { HeaderBag, HttpMessage, HttpResponse as IHttpResponse } from "@smithy/types"; | ||
| type HttpResponseOptions = Partial<HttpMessage> & { | ||
| statusCode: number; | ||
| reason?: string; | ||
| }; | ||
| /** | ||
| * Use the distinct IHttpResponse interface from \@smithy/types instead. | ||
| * This should not be used due to | ||
| * overlapping with the concrete class' name. | ||
| * | ||
| * This is not marked deprecated since that would mark the concrete class | ||
| * deprecated as well. | ||
| * | ||
| * @internal | ||
| */ | ||
| export interface HttpResponse extends IHttpResponse { | ||
| } | ||
| /** | ||
| * @public | ||
| */ | ||
| export declare class HttpResponse { | ||
| statusCode: number; | ||
| reason?: string; | ||
| headers: HeaderBag; | ||
| body?: any; | ||
| constructor(options: HttpResponseOptions); | ||
| static isInstance(response: unknown): response is HttpResponse; | ||
| } | ||
| export {}; |
| export declare function isValidHostname(hostname: string): boolean; |
| import type { FieldOptions as __FieldOptions, FieldPosition as __FieldPosition, HeaderBag as __HeaderBag, HttpHandlerOptions as __HttpHandlerOptions, HttpMessage as __HttpMessage } from "@smithy/types"; | ||
| /** | ||
| * @deprecated Use FieldOptions from `@smithy/types` instead | ||
| */ | ||
| export type FieldOptions = __FieldOptions; | ||
| /** | ||
| * @deprecated Use FieldPosition from `@smithy/types` instead | ||
| */ | ||
| export type FieldPosition = __FieldPosition; | ||
| /** | ||
| * @deprecated Use HeaderBag from `@smithy/types` instead | ||
| */ | ||
| export type HeaderBag = __HeaderBag; | ||
| /** | ||
| * @deprecated Use HttpMessage from `@smithy/types` instead | ||
| */ | ||
| export type HttpMessage = __HttpMessage; | ||
| /** | ||
| * @deprecated Use HttpHandlerOptions from `@smithy/types` instead | ||
| */ | ||
| export type HttpHandlerOptions = __HttpHandlerOptions; |
-17
| # @smithy/protocol-http | ||
| [](https://www.npmjs.com/package/@smithy/protocol-http) | ||
| [](https://www.npmjs.com/package/@smithy/protocol-http) | ||
| ### :warning: Internal API :warning: | ||
| > This is an internal package. | ||
| > That means this is used as a dependency for other, public packages, but | ||
| > should not be taken directly as a dependency in your application's `package.json`. | ||
| > If you are updating the version of this package, for example to bring in a | ||
| > bug-fix, you should do so by updating your application lockfile with | ||
| > e.g. `npm up @scope/package` or equivalent command in another | ||
| > package manager, rather than taking a direct dependency. | ||
| --- |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
0
-100%14469
-55.63%5
-79.17%15
-97.51%1
Infinity%0
-100%1
Infinity%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed