Skip to content

Commit ccd1de8

Browse files
committed
improve
1 parent 9f24e6e commit ccd1de8

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

sentry-types/src/protocol/envelope.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pub enum EnvelopeError {
3535
MissingNewline,
3636
/// Invalid envelope header
3737
#[error("invalid envelope header")]
38-
InvalidHeader(#[source] serde_json::Error),
38+
InvalidHeader(#[source] Box<dyn std::error::Error>),
3939
/// Invalid item header
4040
#[error("invalid item header")]
4141
InvalidItemHeader(#[source] serde_json::Error),
@@ -527,13 +527,10 @@ impl Envelope {
527527
let first_line = lines
528528
.next()
529529
.ok_or(EnvelopeError::MissingHeader)?
530-
.map_err(|_| EnvelopeError::MissingHeader)?;
531-
if lines.next().is_none() {
532-
return Err(EnvelopeError::MissingNewline);
533-
}
530+
.map_err(|err| EnvelopeError::InvalidHeader(Box::new(err)))?;
534531

535-
let headers: EnvelopeHeaders =
536-
serde_json::from_str(first_line.as_str()).map_err(EnvelopeError::InvalidHeader)?;
532+
let headers: EnvelopeHeaders = serde_json::from_str(first_line.as_str())
533+
.map_err(|err| EnvelopeError::InvalidHeader(Box::new(err)))?;
537534

538535
Ok((headers, first_line.len() + 1))
539536
}
@@ -1032,7 +1029,7 @@ some content
10321029

10331030
#[test]
10341031
fn test_all_envelope_headers_roundtrip() {
1035-
let bytes = br#"{"event_id":"22d00b3f-d1b1-4b5d-8d20-49d138cd8a9c","sdk":{"name":"3e934135-3f2b-49bc-8756-9f025b55143e","version":"3e31738e-4106-42d0-8be2-4a3a1bc648d3","integrations":["daec50ae-8729-49b5-82f7-991446745cd5","8fc94968-3499-4a2c-b4d7-ecc058d9c1b0"],"packages":[{"name":"b59a1949-9950-4203-b394-ddd8d02c9633","version":"3d7790f3-7f32-43f7-b82f-9f5bc85205a8"}]},"sent_at":"2020-02-07T14:16:00Z","trace":{"trace_id":"65bcd18546c942069ed957b15b4ace7c","public_key":"5d593cac-f833-4845-bb23-4eabdf720da2","sample_rate":"0.00000021","sampled":"true","sample_rand":"0.00000012","environment":"0666ab02-6364-4135-aa59-02e8128ce052","transaction":"0252ec25-cd0a-4230-bd2f-936a4585637e"}}
1032+
let bytes = br#"{"event_id":"22d00b3f-d1b1-4b5d-8d20-49d138cd8a9c","sdk":{"name":"3e934135-3f2b-49bc-8756-9f025b55143e","version":"3e31738e-4106-42d0-8be2-4a3a1bc648d3","integrations":["daec50ae-8729-49b5-82f7-991446745cd5","8fc94968-3499-4a2c-b4d7-ecc058d9c1b0"],"packages":[{"name":"b59a1949-9950-4203-b394-ddd8d02c9633","version":"3d7790f3-7f32-43f7-b82f-9f5bc85205a8"}]},"sent_at":"2020-02-07T14:16:00Z","trace":{"trace_id":"65bcd18546c942069ed957b15b4ace7c","public_key":"5d593cac-f833-4845-bb23-4eabdf720da2","sample_rate":"0.00000021","sample_rand":"0.123456","sampled":"true","environment":"0666ab02-6364-4135-aa59-02e8128ce052","transaction":"0252ec25-cd0a-4230-bd2f-936a4585637e"}}
10361033
{"type":"event","length":74}
10371034
{"event_id":"22d00b3fd1b14b5d8d2049d138cd8a9c","timestamp":1595256674.296}
10381035
"#;

0 commit comments

Comments
 (0)