From 575fcb1898fcf45b1c69b0313d0616342ba9b31c Mon Sep 17 00:00:00 2001 From: sjaanus Date: Thu, 20 Feb 2025 14:24:14 +0200 Subject: [PATCH] Fix etag hanlding --- Cargo.lock | 4 ++-- server/Cargo.toml | 2 +- server/src/client_api.rs | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a6070f65..0c32cefc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,9 +111,9 @@ dependencies = [ [[package]] name = "actix-middleware-etag" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451d50c8a40598b825054437b550cc7ff2fe84346e19d17839e91d8c7c0c86b6" +checksum = "bf947271526f363aba604e2a735fb2792f63768c6ebdd06a30bf6df74a5ba06c" dependencies = [ "actix-service", "actix-web", diff --git a/server/Cargo.toml b/server/Cargo.toml index 87c36071..11812f52 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -27,7 +27,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [dependencies] actix-cors = "0.7.0" actix-http = "3.9.0" -actix-middleware-etag = "0.4.3" +actix-middleware-etag = "0.4.4" actix-service = "2.0.2" actix-web = { version = "4.9.0", features = ["rustls-0_23", "compress-zstd"] } actix-web-lab = { version = "0.23.0" } diff --git a/server/src/client_api.rs b/server/src/client_api.rs index b64f4f30..f629bb02 100644 --- a/server/src/client_api.rs +++ b/server/src/client_api.rs @@ -56,7 +56,7 @@ pub async fn get_delta( .and_then(|etag| etag.trim_matches('"').parse::().ok()) .unwrap_or(0); - let current_sdk_revision_id = 100; // TODO: Read from delta_manager + let current_sdk_revision_id = requested_revision_id + 1; // TODO: Read from delta_manager match resolve_delta( edge_token, @@ -75,7 +75,7 @@ pub async fn get_delta( .unwrap_or(current_sdk_revision_id); HttpResponse::Ok() - .insert_header(("ETag", format!("\"{}\"", last_event_id))) + .insert_header(("ETag", format!("{}", last_event_id))) .json(delta) } Some(Err(err)) => HttpResponse::InternalServerError().body(format!("Error: {:?}", err)), @@ -226,7 +226,7 @@ async fn resolve_delta( let delta_filter_set = get_delta_filter(&edge_token, &token_cache, filter_query.clone()).ok()?; - let current_sdk_revision_id = 100; // TODO: get from delta manager + let current_sdk_revision_id = requested_revision_id + 1; // TODO: get from delta manager if requested_revision_id >= current_sdk_revision_id { return None; }