Compatibility improvement for striped blob (#3932)

This commit is contained in:
microzchang 2022-09-15 14:54:24 +08:00 committed by GitHub
parent 3fec13f7a6
commit 0e00a3a52c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 6 deletions

View File

@ -6023,8 +6023,11 @@ namespace Azure { namespace Storage { namespace Blobs {
= Core::Convert::Base64Decode(pRawResponse->GetHeaders().at("x-ms-content-crc64"));
response.TransactionalContentHash.Value().Algorithm = HashAlgorithm::Crc64;
}
response.SequenceNumber
= std::stoll(pRawResponse->GetHeaders().at("x-ms-blob-sequence-number"));
if (pRawResponse->GetHeaders().count("x-ms-blob-sequence-number") != 0)
{
response.SequenceNumber
= std::stoll(pRawResponse->GetHeaders().at("x-ms-blob-sequence-number"));
}
response.IsServerEncrypted
= pRawResponse->GetHeaders().at("x-ms-request-server-encrypted") == std::string("true");
if (pRawResponse->GetHeaders().count("x-ms-encryption-key-sha256") != 0)
@ -6132,8 +6135,11 @@ namespace Azure { namespace Storage { namespace Blobs {
response.LastModified = DateTime::Parse(
pRawResponse->GetHeaders().at("Last-Modified"), Azure::DateTime::DateFormat::Rfc1123);
}
response.SequenceNumber
= std::stoll(pRawResponse->GetHeaders().at("x-ms-blob-sequence-number"));
if (pRawResponse->GetHeaders().count("x-ms-blob-sequence-number") != 0)
{
response.SequenceNumber
= std::stoll(pRawResponse->GetHeaders().at("x-ms-blob-sequence-number"));
}
return Response<Models::ClearPagesResult>(std::move(response), std::move(pRawResponse));
}
Response<Models::UploadPagesFromUriResult> PageBlobClient::UploadPagesFromUri(
@ -6292,8 +6298,11 @@ namespace Azure { namespace Storage { namespace Blobs {
= Core::Convert::Base64Decode(pRawResponse->GetHeaders().at("x-ms-content-crc64"));
response.TransactionalContentHash.Value().Algorithm = HashAlgorithm::Crc64;
}
response.SequenceNumber
= std::stoll(pRawResponse->GetHeaders().at("x-ms-blob-sequence-number"));
if (pRawResponse->GetHeaders().count("x-ms-blob-sequence-number") != 0)
{
response.SequenceNumber
= std::stoll(pRawResponse->GetHeaders().at("x-ms-blob-sequence-number"));
}
response.IsServerEncrypted
= pRawResponse->GetHeaders().at("x-ms-request-server-encrypted") == std::string("true");
if (pRawResponse->GetHeaders().count("x-ms-encryption-key-sha256") != 0)

View File

@ -515,6 +515,26 @@ directive:
});
}
}
- from: swagger-document
where: $
transform: >
const operations = [
"PageBlob_UploadPages",
"PageBlob_ClearPages",
"PageBlob_UploadPagesFromUri",
];
for (const url in $["x-ms-paths"]) {
for (const verb in $["x-ms-paths"][url]) {
if (!operations.includes($["x-ms-paths"][url][verb].operationId)) continue;
const operation = $["x-ms-paths"][url][verb];
const status_codes = Object.keys(operation.responses).filter(s => s !== "default");
status_codes.forEach((status_code, i) => {
operation.responses[status_code].headers["x-ms-blob-sequence-number"]["x-ms-client-default"] = "int64_t()";
operation.responses[status_code].headers["x-ms-blob-sequence-number"]["x-nullable"] = true;
});
}
}
```
### GetBlobServiceProperties