diff --git a/relay-server/src/endpoints/minidump.rs b/relay-server/src/endpoints/minidump.rs index 38717dc76a4..bdfaa36d6b1 100644 --- a/relay-server/src/endpoints/minidump.rs +++ b/relay-server/src/endpoints/minidump.rs @@ -619,12 +619,11 @@ fn envelope( meta: RequestMeta, managed_err: Managed<(DataCategory, usize)>, ) -> Result>, BadStoreRequest> { - let event_id = common::event_id_from_items(&items) - .reject2(&items, &managed_err)? + let merged = Managed::zip(managed_err, items); + let event_id = common::event_id_from_items(&merged.as_ref().1) + .reject(&merged)? .unwrap_or_else(EventId::new); - let envelope = items.map(|items, records| { - managed_err.accept(|_| ()); // There will be an envelope with (DataCategory::Error, 1) now - records.modify_by(DataCategory::Error, 1); + let envelope = merged.map(|(_, items), _| { Box::new(Envelope::from_request(Some(event_id), meta).with_items(items)) }); Ok(envelope) diff --git a/relay-server/src/endpoints/playstation.rs b/relay-server/src/endpoints/playstation.rs index e296a3a1353..cd575ebaf1f 100644 --- a/relay-server/src/endpoints/playstation.rs +++ b/relay-server/src/endpoints/playstation.rs @@ -225,12 +225,11 @@ fn envelope( meta: RequestMeta, managed_err: Managed<(DataCategory, usize)>, ) -> Result>, BadStoreRequest> { - let event_id = common::event_id_from_items(&items) - .reject2(&items, &managed_err)? + let merged = Managed::zip(managed_err, items); + let event_id = common::event_id_from_items(&merged.as_ref().1) + .reject(&merged)? .unwrap_or_else(EventId::new); - let envelope = items.map(|items, records| { - managed_err.accept(|_| ()); // There will be an envelope with (DataCategory::Error, 1) now - records.modify_by(DataCategory::Error, 1); + let envelope = merged.map(|(_, items), _| { let envelope = Envelope::from_request(Some(event_id), meta) .with_items(items) .with_required_feature(Feature::PlaystationIngestion);