Azure / Azure/azure-rest-api-specs
[BUG] `BlobContentTypeParameter` missing from `Blob : op download`
- Dominant language
- TypeSpec
- Stars
- 3.1k
- Forks
- 5.9k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 444
Description
### API Spec link
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/storage/Microsoft.BlobStorage/routes.tsp
### API Spec version
2026-02-26
### Describe the bug
See bug report here https://github.com/Azure/azure-sdk-for-rust/issues/3817
Because the `BlobContentTypeParameter` is missing from the response to `op download` defined here:
https://github.com/Azure/azure-rest-api-specs/blob/05d1c25a769ec0cbf9ea44dac56b9e795eea92d7/specification/storage/Microsoft.BlobStorage/routes.tsp#L705-L838
There is no accessor for this property in the generated `BlobClientDownloadResultHeaders` trait.
This also appears to be the case for `op getProperties`:
https://github.com/Azure/azure-rest-api-specs/blob/05d1c25a769ec0cbf9ea44dac56b9e795eea92d7/specification/storage/Microsoft.BlobStorage/routes.tsp#L843-L931
### Expected behavior
The "blob content type" that was set with `op upload` and/or `op setProperties` can be read from the response of `op download` and/or `op getProperties`.
### Actual behavior
The generated code does not allow accessing the "blob content type"
### Reproduction Steps
```rs
ManagedIdentityCredential::new(None)?;
let blob_client = BlobClient::new(
"https://.blob.core.windows.net/",
"test",
"test",
Some(credential),
None,
)?;
blob_client
.upload(
RequestContent::from("test".to_vec()),
true,
4,
Some(BlockBlobClientUploadOptions {
blob_content_type: Some(String::from("text/plain"),
..Default::default()
}),
)
.await?;
let response = blob_client
.download(None)
.await?;
let content_type = response.content_type().unwrap();
// ^^^^^^^^^^^^^^ This method does not exist
```
### Environment
_No response_
Contributor guide
Research direction
Start in specification/storage/Microsoft.BlobStorage/routes.tsp, inspecting the response definitions for `op download` at lines 705-838 and `op getProperties` at lines 843-931. Compare how the blob content type is represented for `op upload` or `op setProperties`. Done means both responses include `BlobContentTypeParameter` so generated Rust code exposes a content-type accessor.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, rust
- Domain
- api, cloud
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100