diff --git a/relay-server/src/endpoints/minidump.rs b/relay-server/src/endpoints/minidump.rs index 0a3c7d7d993..cb0e2d86290 100644 --- a/relay-server/src/endpoints/minidump.rs +++ b/relay-server/src/endpoints/minidump.rs @@ -631,15 +631,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)? - .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); - Box::new(Envelope::from_request(Some(event_id), meta).with_items(items)) - }); - Ok(envelope) + Ok(Managed::zip(managed_err, items).try_map(|(_, items), _| { + let event_id = common::event_id_from_items(&items)?.unwrap_or_default(); + let envelope = Envelope::from_request(Some(event_id), meta).with_items(items); + Ok::<_, BadStoreRequest>(Box::new(envelope)) + })?) } async fn handle( diff --git a/relay-server/src/endpoints/playstation.rs b/relay-server/src/endpoints/playstation.rs index 1b037d94dcc..bdbc0ec37d7 100644 --- a/relay-server/src/endpoints/playstation.rs +++ b/relay-server/src/endpoints/playstation.rs @@ -226,18 +226,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)? - .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 = Envelope::from_request(Some(event_id), meta) - .with_items(items) - .with_required_feature(Feature::PlaystationIngestion); - Box::new(envelope) - }); - Ok(envelope) + Ok(Managed::zip(managed_err, items).try_map(|(_, items), _| { + let event_id = common::event_id_from_items(&items)?.unwrap_or_default(); + let envelope = Envelope::from_request(Some(event_id), meta).with_items(items); + Ok::<_, BadStoreRequest>(Box::new(envelope)) + })?) } async fn handle(