Skip to content

Commit

Permalink
fix a bug referencing the wrong header constant for Cosmos response (#…
Browse files Browse the repository at this point in the history
…311)

This fixes a bug where the sdk expects the "x-ms-max-item-count" HTTP
response header for a Cosmos response. However, instead
"x-ms-max-item-count" is an optional request header[1]. Instead a new
const has been added, "x-ms-item-count", to coincide with the expected
response header[2] from Cosmos requests.

[1] https://docs.microsoft.com/en-us/rest/api/cosmos-db/common-cosmosdb-rest-request-headers
[2] https://docs.microsoft.com/en-us/rest/api/cosmos-db/common-cosmosdb-rest-response-headers
  • Loading branch information
justinbarclay authored Jun 22, 2021
1 parent c9d1fa1 commit e1fc0ea
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
1 change: 1 addition & 0 deletions sdk/core/src/headers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,5 @@ pub const VERSION: &str = "x-ms-version";
pub const PROPERTIES: &str = "x-ms-properties";
pub const NAMESPACE_ENABLED: &str = "x-ms-namespace-enabled";
pub const MAX_ITEM_COUNT: &str = "x-ms-max-item-count";
pub const ITEM_COUNT: &str = "x-ms-item-count";
pub const ITEM_TYPE: &str = "x-ms-item-type";
4 changes: 2 additions & 2 deletions sdk/core/src/headers/utilities.rs
Original file line number Diff line number Diff line change
Expand Up @@ -261,8 +261,8 @@ pub fn content_type_from_headers(headers: &HeaderMap) -> Result<&str, Error> {

pub fn item_count_from_headers(headers: &HeaderMap) -> Result<u32, Error> {
Ok(headers
.get(crate::headers::MAX_ITEM_COUNT)
.ok_or_else(|| Error::HeaderNotFound(crate::MAX_ITEM_COUNT.to_owned()))?
.get(crate::headers::ITEM_COUNT)
.ok_or_else(|| Error::HeaderNotFound(crate::ITEM_COUNT.to_owned()))?
.to_str()?
.parse()?)
}
Expand Down

0 comments on commit e1fc0ea

Please sign in to comment.