Skip to content

Commit e76a62e

Browse files
committed
feat: kill get_collection's redundant extract_resource call
as transaction_http always calls this for us for X-Last-Modified Issue STOR-579
1 parent b28317e commit e76a62e

2 files changed

Lines changed: 5 additions & 13 deletions

File tree

syncserver/src/web/handlers.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -347,14 +347,8 @@ where
347347
}
348348
})?;
349349

350-
let ts = db
351-
.extract_resource(coll.user_id.clone(), Some(coll.collection.clone()), None)
352-
.await?;
353-
354350
let mut builder = HttpResponse::build(StatusCode::OK);
355-
let resp = builder
356-
.insert_header((X_LAST_MODIFIED, ts.as_header()))
357-
.insert_header((X_WEAVE_RECORDS, result.items.len().to_string()));
351+
let resp = builder.insert_header((X_WEAVE_RECORDS, result.items.len().to_string()));
358352

359353
if let Some(offset) = result.offset {
360354
resp.insert_header((X_WEAVE_NEXT_OFFSET, offset));

syncserver/src/web/transaction.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,13 +139,11 @@ impl DbTransactionPool {
139139

140140
let mut resp = action(db).await?;
141141

142-
if resp.headers().contains_key(X_LAST_MODIFIED) {
143-
return Ok(resp);
144-
}
145-
146142
// See if we already extracted one and use that if possible
147-
if let Ok(ts_header) = header::HeaderValue::from_str(&resource_ts.as_header()) {
148-
trace!("📝 Setting X-Last-Modfied {:?}", ts_header);
143+
if !resp.headers().contains_key(X_LAST_MODIFIED)
144+
&& let Ok(ts_header) = HeaderValue::from_str(&resource_ts.as_header())
145+
{
146+
trace!("📝 Setting X-Last-Modfied {ts_header:?}");
149147
resp.headers_mut()
150148
.insert(header::HeaderName::from_static(X_LAST_MODIFIED), ts_header);
151149
}

0 commit comments

Comments
 (0)