mirror of
https://github.com/oven-sh/setup-bun.git
synced 2025-07-18 20:48:29 +02:00
feat: add @actions/cache
This commit is contained in:
parent
b15fb7d098
commit
16e8c96a41
1932 changed files with 261172 additions and 10 deletions
230
node_modules/@azure/ms-rest-js/lib/httpHeaders.ts
generated
vendored
Normal file
230
node_modules/@azure/ms-rest-js/lib/httpHeaders.ts
generated
vendored
Normal file
|
@ -0,0 +1,230 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
/**
|
||||
* A collection of HttpHeaders that can be sent with a HTTP request.
|
||||
*/
|
||||
function getHeaderKey(headerName: string) {
|
||||
return headerName.toLowerCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual header within a HttpHeaders collection.
|
||||
*/
|
||||
export interface HttpHeader {
|
||||
/**
|
||||
* The name of the header.
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* The value of the header.
|
||||
*/
|
||||
value: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* A HttpHeaders collection represented as a simple JSON object.
|
||||
*/
|
||||
export type RawHttpHeaders = { [headerName: string]: string };
|
||||
|
||||
/**
|
||||
* A collection of HTTP header key/value pairs.
|
||||
*/
|
||||
export interface HttpHeadersLike {
|
||||
/**
|
||||
* Set a header in this collection with the provided name and value. The name is
|
||||
* case-insensitive.
|
||||
* @param headerName The name of the header to set. This value is case-insensitive.
|
||||
* @param headerValue The value of the header to set.
|
||||
*/
|
||||
set(headerName: string, headerValue: string | number): void;
|
||||
/**
|
||||
* Get the header value for the provided header name, or undefined if no header exists in this
|
||||
* collection with the provided name.
|
||||
* @param headerName The name of the header.
|
||||
*/
|
||||
get(headerName: string): string | undefined;
|
||||
/**
|
||||
* Get whether or not this header collection contains a header entry for the provided header name.
|
||||
*/
|
||||
contains(headerName: string): boolean;
|
||||
/**
|
||||
* Remove the header with the provided headerName. Return whether or not the header existed and
|
||||
* was removed.
|
||||
* @param headerName The name of the header to remove.
|
||||
*/
|
||||
remove(headerName: string): boolean;
|
||||
/**
|
||||
* Get the headers that are contained this collection as an object.
|
||||
*/
|
||||
rawHeaders(): RawHttpHeaders;
|
||||
/**
|
||||
* Get the headers that are contained in this collection as an array.
|
||||
*/
|
||||
headersArray(): HttpHeader[];
|
||||
/**
|
||||
* Get the header names that are contained in this collection.
|
||||
*/
|
||||
headerNames(): string[];
|
||||
/**
|
||||
* Get the header values that are contained in this collection.
|
||||
*/
|
||||
headerValues(): string[];
|
||||
/**
|
||||
* Create a deep clone/copy of this HttpHeaders collection.
|
||||
*/
|
||||
clone(): HttpHeadersLike;
|
||||
/**
|
||||
* Get the JSON object representation of this HTTP header collection.
|
||||
* The result is the same as `rawHeaders()`.
|
||||
*/
|
||||
toJson(): RawHttpHeaders;
|
||||
}
|
||||
|
||||
export function isHttpHeadersLike(object?: any): object is HttpHeadersLike {
|
||||
if (!object || typeof object !== "object") {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (
|
||||
typeof object.rawHeaders === "function" &&
|
||||
typeof object.clone === "function" &&
|
||||
typeof object.get === "function" &&
|
||||
typeof object.set === "function" &&
|
||||
typeof object.contains === "function" &&
|
||||
typeof object.remove === "function" &&
|
||||
typeof object.headersArray === "function" &&
|
||||
typeof object.headerValues === "function" &&
|
||||
typeof object.headerNames === "function" &&
|
||||
typeof object.toJson === "function"
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* A collection of HTTP header key/value pairs.
|
||||
*/
|
||||
export class HttpHeaders {
|
||||
private readonly _headersMap: { [headerKey: string]: HttpHeader };
|
||||
|
||||
constructor(rawHeaders?: RawHttpHeaders) {
|
||||
this._headersMap = {};
|
||||
if (rawHeaders) {
|
||||
for (const headerName in rawHeaders) {
|
||||
this.set(headerName, rawHeaders[headerName]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a header in this collection with the provided name and value. The name is
|
||||
* case-insensitive.
|
||||
* @param headerName The name of the header to set. This value is case-insensitive.
|
||||
* @param headerValue The value of the header to set.
|
||||
*/
|
||||
public set(headerName: string, headerValue: string | number): void {
|
||||
this._headersMap[getHeaderKey(headerName)] = {
|
||||
name: headerName,
|
||||
value: headerValue.toString(),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header value for the provided header name, or undefined if no header exists in this
|
||||
* collection with the provided name.
|
||||
* @param headerName The name of the header.
|
||||
*/
|
||||
public get(headerName: string): string | undefined {
|
||||
const header: HttpHeader = this._headersMap[getHeaderKey(headerName)];
|
||||
return !header ? undefined : header.value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get whether or not this header collection contains a header entry for the provided header name.
|
||||
*/
|
||||
public contains(headerName: string): boolean {
|
||||
return !!this._headersMap[getHeaderKey(headerName)];
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the header with the provided headerName. Return whether or not the header existed and
|
||||
* was removed.
|
||||
* @param headerName The name of the header to remove.
|
||||
*/
|
||||
public remove(headerName: string): boolean {
|
||||
const result: boolean = this.contains(headerName);
|
||||
delete this._headersMap[getHeaderKey(headerName)];
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the headers that are contained this collection as an object.
|
||||
*/
|
||||
public rawHeaders(): RawHttpHeaders {
|
||||
const result: RawHttpHeaders = {};
|
||||
for (const headerKey in this._headersMap) {
|
||||
const header: HttpHeader = this._headersMap[headerKey];
|
||||
result[header.name.toLowerCase()] = header.value;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the headers that are contained in this collection as an array.
|
||||
*/
|
||||
public headersArray(): HttpHeader[] {
|
||||
const headers: HttpHeader[] = [];
|
||||
for (const headerKey in this._headersMap) {
|
||||
headers.push(this._headersMap[headerKey]);
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header names that are contained in this collection.
|
||||
*/
|
||||
public headerNames(): string[] {
|
||||
const headerNames: string[] = [];
|
||||
const headers: HttpHeader[] = this.headersArray();
|
||||
for (let i = 0; i < headers.length; ++i) {
|
||||
headerNames.push(headers[i].name);
|
||||
}
|
||||
return headerNames;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header names that are contained in this collection.
|
||||
*/
|
||||
public headerValues(): string[] {
|
||||
const headerValues: string[] = [];
|
||||
const headers: HttpHeader[] = this.headersArray();
|
||||
for (let i = 0; i < headers.length; ++i) {
|
||||
headerValues.push(headers[i].value);
|
||||
}
|
||||
return headerValues;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the JSON object representation of this HTTP header collection.
|
||||
*/
|
||||
public toJson(): RawHttpHeaders {
|
||||
return this.rawHeaders();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the string representation of this HTTP header collection.
|
||||
*/
|
||||
public toString(): string {
|
||||
return JSON.stringify(this.toJson());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a deep clone/copy of this HttpHeaders collection.
|
||||
*/
|
||||
public clone(): HttpHeaders {
|
||||
return new HttpHeaders(this.rawHeaders());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue