Permalink
Cannot retrieve contributors at this time
140 lines (140 sloc)
4.75 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/@azure/ms-rest-js/es/lib/httpHeaders.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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) { | |
return headerName.toLowerCase(); | |
} | |
export function isHttpHeadersLike(object) { | |
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. | |
*/ | |
var HttpHeaders = /** @class */ (function () { | |
function HttpHeaders(rawHeaders) { | |
this._headersMap = {}; | |
if (rawHeaders) { | |
for (var 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. | |
*/ | |
HttpHeaders.prototype.set = function (headerName, headerValue) { | |
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. | |
*/ | |
HttpHeaders.prototype.get = function (headerName) { | |
var header = 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. | |
*/ | |
HttpHeaders.prototype.contains = function (headerName) { | |
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. | |
*/ | |
HttpHeaders.prototype.remove = function (headerName) { | |
var result = this.contains(headerName); | |
delete this._headersMap[getHeaderKey(headerName)]; | |
return result; | |
}; | |
/** | |
* Get the headers that are contained this collection as an object. | |
*/ | |
HttpHeaders.prototype.rawHeaders = function () { | |
var result = {}; | |
for (var headerKey in this._headersMap) { | |
var header = this._headersMap[headerKey]; | |
result[header.name.toLowerCase()] = header.value; | |
} | |
return result; | |
}; | |
/** | |
* Get the headers that are contained in this collection as an array. | |
*/ | |
HttpHeaders.prototype.headersArray = function () { | |
var headers = []; | |
for (var headerKey in this._headersMap) { | |
headers.push(this._headersMap[headerKey]); | |
} | |
return headers; | |
}; | |
/** | |
* Get the header names that are contained in this collection. | |
*/ | |
HttpHeaders.prototype.headerNames = function () { | |
var headerNames = []; | |
var headers = this.headersArray(); | |
for (var i = 0; i < headers.length; ++i) { | |
headerNames.push(headers[i].name); | |
} | |
return headerNames; | |
}; | |
/** | |
* Get the header names that are contained in this collection. | |
*/ | |
HttpHeaders.prototype.headerValues = function () { | |
var headerValues = []; | |
var headers = this.headersArray(); | |
for (var i = 0; i < headers.length; ++i) { | |
headerValues.push(headers[i].value); | |
} | |
return headerValues; | |
}; | |
/** | |
* Get the JSON object representation of this HTTP header collection. | |
*/ | |
HttpHeaders.prototype.toJson = function () { | |
return this.rawHeaders(); | |
}; | |
/** | |
* Get the string representation of this HTTP header collection. | |
*/ | |
HttpHeaders.prototype.toString = function () { | |
return JSON.stringify(this.toJson()); | |
}; | |
/** | |
* Create a deep clone/copy of this HttpHeaders collection. | |
*/ | |
HttpHeaders.prototype.clone = function () { | |
return new HttpHeaders(this.rawHeaders()); | |
}; | |
return HttpHeaders; | |
}()); | |
export { HttpHeaders }; | |
//# sourceMappingURL=httpHeaders.js.map |