azure-storage
Advanced tools
Comparing version
Note: This is the change log file for Azure Storage JavaScript Client Library. | ||
2018.06 Version 2.10.100 | ||
ALL | ||
* Generated browser compatible JavaScript files based on Microsoft Azure Storage SDK for Node.js 2.10.0. | ||
* Updated storage service version to 2018-03-28. | ||
BLOB | ||
* Fixed a bug that `DeleteRetentionPolicy.Days` should be `number` instead of `string` when calling `getServiceProperties`. | ||
* Added a method `getAccountProperties` to `blobService`. | ||
* Added a method `createBlockFromURL` to `blobService`. | ||
* Added support for static website service properties (in preview). | ||
2018.05 Version 2.9.100-preview | ||
@@ -14,3 +26,3 @@ | ||
* Added support for '$web' as a valid blob container name for static website. | ||
* Added support for write-once read-many containers. | ||
* Added support for write-once read-many containers (in preview). | ||
* The `Get Container Properties` and `List Containers` APIs now return two new properties indicating whether the container has an immutability policy or a legal hold. | ||
@@ -22,3 +34,3 @@ * The `Get Blob Properties` and `List Blobs` APIs now return the creation time of the blob as a property. | ||
2018.04 Version 2.8.100+2.8.2 | ||
2018.04 Version 2.8.100 | ||
@@ -25,0 +37,0 @@ * Fixed a bug that retry policy will not retry for XHR error in browsers. |
Note: This is an Azure Storage only package. The all up Azure node sdk still has the old storage bits in there. In a future release, those storage bits will be removed and an npm dependency to this storage node sdk will | ||
be taken. This is a GA release and the changes described below indicate the changes from the Azure node SDK 0.9.8 available here - https://github.com/Azure/azure-sdk-for-node. | ||
2018.06 Version 2.10.0 | ||
ALL | ||
* Updated storage service version to 2018-03-28. | ||
BLOB | ||
* Fixed a bug that `DeleteRetentionPolicy.Days` should be `number` instead of `string` when calling `getServiceProperties`. | ||
* Added a method `getAccountProperties` to `blobService`. | ||
* Added a method `createBlockFromURL` to `blobService`. | ||
* Added support for static website service properties (in preview). | ||
2018.05 Version 2.9.0-preview | ||
@@ -14,3 +25,3 @@ | ||
* Added support for '$web' as a valid blob container name for static website. | ||
* Added support for write-once read-many containers. | ||
* Added support for write-once read-many containers (in preview). | ||
* The `Get Container Properties` and `List Containers` APIs now return two new properties indicating whether the container has an immutability policy or a legal hold. | ||
@@ -17,0 +28,0 @@ * The `Get Blob Properties` and `List Blobs` APIs now return the creation time of the blob as a property. |
@@ -318,2 +318,29 @@ // | ||
/** | ||
* The properties of a storage account. | ||
* @typedef {object} AccountProperties | ||
* @property {string} SkuName The header that specifies storage SKU, also known as account type. | ||
* @property {string} AccountKind The header that describes the flavour of the storage account, also known as account kind. | ||
*/ | ||
/** | ||
* The properties of a blob storage service, including properties of Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and Static Webiste configurations. | ||
* @typedef {object} BlobServiceProperties | ||
* @property {string} DefaultServiceVersion The default version of Storage Analytics currently in use. | ||
* @property {LoggingProperties} Logging The Logging settings. | ||
* @property {MetricsProperties} HourMetrics The HourMetrics settings provide a summary of request statistics grouped by API in hourly aggregates. | ||
* @property {MetricsProperties} MinuteMetrics The HourMetrics settings provide request statistics grouped by API for each minute. | ||
* @property {StaticWebsiteProperties} StaticWebsite The Azure Static Website settings. | ||
* @property {object} Cors Groups all CORS rules. | ||
* @property {CorsRule[]} Cors.CorsRules Groups settings for a `[CORS rule]{@link CorsRule}`. | ||
*/ | ||
/** | ||
* The Azure Static Website settings. | ||
* @typedef {object} StaticWebsiteProperties | ||
* @property {boolean} Enabled Whether feature of Static Website is enabled. | ||
* @property {string} IndexDocument Indicates index document page path. | ||
* @property {string} ErrorDocument404Path Indicates 404 document page path. | ||
*/ | ||
/** | ||
* The Azure Analytics logging settings. | ||
@@ -320,0 +347,0 @@ * @typedef {object} LoggingProperties |
@@ -87,2 +87,34 @@ // | ||
function serializeStaticWebsite(doc, staticWebsite) { | ||
if (staticWebsite !== null) { | ||
if (typeof staticWebsite === 'undefined') { | ||
staticWebsite = {}; | ||
} | ||
if (typeof staticWebsite.Enabled !== 'undefined') { | ||
doc = doc.ele(ServicePropertiesConstants.ENABLED_ELEMENT) | ||
.txt(staticWebsite.Enabled) | ||
.up(); | ||
} else { | ||
doc = doc.ele(ServicePropertiesConstants.ENABLED_ELEMENT) | ||
.txt(false) | ||
.up(); | ||
} | ||
if (typeof staticWebsite.IndexDocument !== 'undefined') { | ||
doc = doc.ele(ServicePropertiesConstants.DEFAULT_INDEX_DOCUMENT_ELEMENT) | ||
.txt(staticWebsite.IndexDocument) | ||
.up(); | ||
} | ||
if (typeof staticWebsite.ErrorDocument404Path !== 'undefined') { | ||
doc = doc.ele(ServicePropertiesConstants.DEFAULT_ERROR_DOCUMENT_404_PATH_ELEMENT) | ||
.txt(staticWebsite.ErrorDocument404Path) | ||
.up(); | ||
} | ||
doc = doc.up(); | ||
} | ||
} | ||
function serializeLogging(doc, logging) { | ||
@@ -261,2 +293,8 @@ if (typeof logging.Version !== 'undefined') { | ||
if (servicePropertiesJs.StaticWebsite) { | ||
doc = doc.ele(ServicePropertiesConstants.DEFAULT_STATIC_WEBSITE_ELEMENT); | ||
serializeStaticWebsite(doc, servicePropertiesJs.StaticWebsite); | ||
doc = doc.up(); | ||
} | ||
return doc.doc().toString(); | ||
@@ -395,3 +433,3 @@ }; | ||
if (typeof deleteRetentionPolicyXml.Days !== 'undefined') { | ||
deleteRetentionPolicy.Days = deleteRetentionPolicyXml.Days; | ||
deleteRetentionPolicy.Days = parseInt(deleteRetentionPolicyXml.Days); | ||
} | ||
@@ -402,2 +440,20 @@ | ||
function parseStaticWebsite(staticWebsiteXml) { | ||
var staticWebsite = {}; | ||
if (typeof staticWebsiteXml.Enabled !== 'undefined') { | ||
staticWebsite.Enabled = staticWebsiteXml.Enabled === 'true'; | ||
} | ||
if (typeof staticWebsiteXml.IndexDocument !== 'undefined') { | ||
staticWebsite.IndexDocument = staticWebsiteXml.IndexDocument; | ||
} | ||
if (typeof staticWebsiteXml.ErrorDocument404Path !== 'undefined') { | ||
staticWebsite.ErrorDocument404Path = staticWebsiteXml.ErrorDocument404Path; | ||
} | ||
return staticWebsite; | ||
} | ||
exports.parse = function (servicePropertiesXml) { | ||
@@ -430,3 +486,7 @@ var serviceProperties = {}; | ||
if (typeof servicePropertiesXml.StaticWebsite !== 'undefined') { | ||
serviceProperties.StaticWebsite = parseStaticWebsite(servicePropertiesXml.StaticWebsite); | ||
} | ||
return serviceProperties; | ||
}; |
@@ -40,3 +40,3 @@ // | ||
*/ | ||
USER_AGENT_PRODUCT_VERSION: '2.9.0-preview', | ||
USER_AGENT_PRODUCT_VERSION: '2.10.0', | ||
@@ -474,3 +474,27 @@ /** | ||
*/ | ||
DEFAULT_DELETE_RETENTION_POLICY_ELEMENT: 'DeleteRetentionPolicy' | ||
DEFAULT_DELETE_RETENTION_POLICY_ELEMENT: 'DeleteRetentionPolicy', | ||
/** | ||
* XML element for StaticWebsite. | ||
* | ||
* @const | ||
* @type {string} | ||
*/ | ||
DEFAULT_STATIC_WEBSITE_ELEMENT: 'StaticWebsite', | ||
/** | ||
* XML element for StaticWebsite/IndexDocument. | ||
* | ||
* @const | ||
* @type {string} | ||
*/ | ||
DEFAULT_INDEX_DOCUMENT_ELEMENT: 'IndexDocument', | ||
/** | ||
* XML element for StaticWebsite/ErrorDocument404Path. | ||
* | ||
* @const | ||
* @type {string} | ||
*/ | ||
DEFAULT_ERROR_DOCUMENT_404_PATH_ELEMENT: 'ErrorDocument404Path' | ||
}, | ||
@@ -1431,4 +1455,19 @@ | ||
/** | ||
* The header that specifies storage SKU, also known as account type. | ||
* | ||
* @const | ||
* @type {string} | ||
*/ | ||
SKU_NAME: 'x-ms-sku-name', | ||
/** | ||
* The header that describes the flavour of the storage account, also known as account kind. | ||
* | ||
* @const | ||
* @type {string} | ||
*/ | ||
ACCOUNT_KIND: 'x-ms-account-kind', | ||
/** | ||
* The header that specifies lease ID. | ||
@@ -1570,2 +1609,10 @@ * | ||
/** | ||
* The Source Range header. | ||
* | ||
* @const | ||
* @type {string} | ||
*/ | ||
SOURCE_RANGE: 'x-ms-source-range', | ||
/** | ||
* The header that specifies if the request will populate the ContentMD5 header for range gets. | ||
@@ -1712,3 +1759,3 @@ * | ||
*/ | ||
TARGET_STORAGE_VERSION: '2017-11-09', | ||
TARGET_STORAGE_VERSION: '2018-03-28', | ||
@@ -1715,0 +1762,0 @@ /** |
@@ -82,3 +82,3 @@ // | ||
exports.isValidUri = function (uri) { | ||
if (!check.isURL(uri)){ | ||
if (!check.isURL(uri, { 'require_tld': false })){ | ||
throw new URIError('The provided URI "' + uri + '" is invalid.'); | ||
@@ -101,3 +101,3 @@ } | ||
storageHost.primaryHost = _.isString(host) ? host : host.primaryHost; | ||
if (storageHost.primaryHost && !check.isURL(storageHost.primaryHost)){ | ||
if (storageHost.primaryHost && !check.isURL(storageHost.primaryHost, { 'require_tld': false })){ | ||
throw new URIError('The provided URI "' + storageHost.primaryHost + '" is invalid.'); | ||
@@ -107,3 +107,3 @@ } | ||
storageHost.secondaryHost = _.isString(host) ? undefined : host.secondaryHost; | ||
if (storageHost.secondaryHost && !check.isURL(storageHost.secondaryHost)){ | ||
if (storageHost.secondaryHost && !check.isURL(storageHost.secondaryHost, { 'require_tld': false })){ | ||
throw new URIError('The provided URI "' + storageHost.secondaryHost + '" is invalid.'); | ||
@@ -110,0 +110,0 @@ } |
@@ -249,2 +249,13 @@ // | ||
// Source Range | ||
if (!azureutil.objectIsNull(blob.sourceRangeStart)) { | ||
var sourceRange = 'bytes=' + blob.sourceRangeStart + '-'; | ||
if (!azureutil.objectIsNull(blob.sourceRangeEnd)) { | ||
sourceRange += blob.sourceRangeEnd; | ||
} | ||
webResource.withHeader(HeaderConstants.SOURCE_RANGE, sourceRange); | ||
} | ||
// Blob Type | ||
@@ -251,0 +262,0 @@ setHeaderPropertyFromBlob(HeaderConstants.BLOB_TYPE, 'blobType'); |
{ | ||
"name": "azure-storage", | ||
"author": "Microsoft Corporation", | ||
"version": "2.9.0-preview", | ||
"version": "2.10.0", | ||
"description": "Microsoft Azure Storage Client Library for Node.js", | ||
@@ -6,0 +6,0 @@ "typings": "typings/azure-storage/azure-storage.d.ts", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
2674125
0.93%123
1.65%38049
0.9%0
-100%