Skip to content

Commit 8809b13

Browse files
Useless Option<HeaderMap>
1 parent 0534719 commit 8809b13

File tree

3 files changed

+38
-61
lines changed

3 files changed

+38
-61
lines changed

async-nats/src/client.rs

+6-20
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,8 @@ impl Client {
149149
/// # }
150150
/// ```
151151
pub async fn publish(&self, subject: String, payload: Bytes) -> Result<(), PublishError> {
152-
self.sender
153-
.send(Command::Publish {
154-
subject,
155-
payload,
156-
respond: None,
157-
headers: None,
158-
})
159-
.await?;
160-
Ok(())
152+
self.publish_with_headers(subject, HeaderMap::new(), payload)
153+
.await
161154
}
162155

163156
/// Publish a [Message] with headers to a given subject.
@@ -190,7 +183,7 @@ impl Client {
190183
subject,
191184
payload,
192185
respond: None,
193-
headers: Some(headers),
186+
headers,
194187
})
195188
.await?;
196189
Ok(())
@@ -222,15 +215,8 @@ impl Client {
222215
reply: String,
223216
payload: Bytes,
224217
) -> Result<(), PublishError> {
225-
self.sender
226-
.send(Command::Publish {
227-
subject,
228-
payload,
229-
respond: Some(reply),
230-
headers: None,
231-
})
232-
.await?;
233-
Ok(())
218+
self.publish_with_reply_and_headers(subject, reply, HeaderMap::new(), payload)
219+
.await
234220
}
235221

236222
/// Publish a [Message] to a given subject with headers and specified response subject
@@ -268,7 +254,7 @@ impl Client {
268254
subject,
269255
payload,
270256
respond: Some(reply),
271-
headers: Some(headers),
257+
headers,
272258
})
273259
.await?;
274260
Ok(())

async-nats/src/connection.rs

+30-39
Original file line numberDiff line numberDiff line change
@@ -359,13 +359,10 @@ impl Connection {
359359
respond,
360360
headers,
361361
} => {
362-
match headers.as_ref() {
363-
Some(headers) if !headers.is_empty() => {
364-
self.stream.write_all(b"HPUB ").await?;
365-
}
366-
_ => {
367-
self.stream.write_all(b"PUB ").await?;
368-
}
362+
if !headers.is_empty() {
363+
self.stream.write_all(b"HPUB ").await?;
364+
} else {
365+
self.stream.write_all(b"PUB ").await?;
369366
}
370367

371368
self.stream.write_all(subject.as_bytes()).await?;
@@ -376,36 +373,33 @@ impl Connection {
376373
self.stream.write_all(b" ").await?;
377374
}
378375

379-
match headers {
380-
Some(headers) if !headers.is_empty() => {
381-
let headers = headers.to_bytes();
376+
if !headers.is_empty() {
377+
let headers = headers.to_bytes();
382378

383-
let mut header_len_buf = itoa::Buffer::new();
384-
self.stream
385-
.write_all(header_len_buf.format(headers.len()).as_bytes())
386-
.await?;
379+
let mut header_len_buf = itoa::Buffer::new();
380+
self.stream
381+
.write_all(header_len_buf.format(headers.len()).as_bytes())
382+
.await?;
387383

388-
self.stream.write_all(b" ").await?;
384+
self.stream.write_all(b" ").await?;
389385

390-
let mut total_len_buf = itoa::Buffer::new();
391-
self.stream
392-
.write_all(
393-
total_len_buf
394-
.format(headers.len() + payload.len())
395-
.as_bytes(),
396-
)
397-
.await?;
386+
let mut total_len_buf = itoa::Buffer::new();
387+
self.stream
388+
.write_all(
389+
total_len_buf
390+
.format(headers.len() + payload.len())
391+
.as_bytes(),
392+
)
393+
.await?;
398394

399-
self.stream.write_all(b"\r\n").await?;
400-
self.stream.write_all(&headers).await?;
401-
}
402-
_ => {
403-
let mut len_buf = itoa::Buffer::new();
404-
self.stream
405-
.write_all(len_buf.format(payload.len()).as_bytes())
406-
.await?;
407-
self.stream.write_all(b"\r\n").await?;
408-
}
395+
self.stream.write_all(b"\r\n").await?;
396+
self.stream.write_all(&headers).await?;
397+
} else {
398+
let mut len_buf = itoa::Buffer::new();
399+
self.stream
400+
.write_all(len_buf.format(payload.len()).as_bytes())
401+
.await?;
402+
self.stream.write_all(b"\r\n").await?;
409403
}
410404

411405
self.stream.write_all(payload).await?;
@@ -780,7 +774,7 @@ mod write_op {
780774
subject: "FOO.BAR".into(),
781775
payload: "Hello World".into(),
782776
respond: None,
783-
headers: None,
777+
headers: HeaderMap::new(),
784778
})
785779
.await
786780
.unwrap();
@@ -797,7 +791,7 @@ mod write_op {
797791
subject: "FOO.BAR".into(),
798792
payload: "Hello World".into(),
799793
respond: Some("INBOX.67".into()),
800-
headers: None,
794+
headers: HeaderMap::new(),
801795
})
802796
.await
803797
.unwrap();
@@ -813,10 +807,7 @@ mod write_op {
813807
subject: "FOO.BAR".into(),
814808
payload: "Hello World".into(),
815809
respond: Some("INBOX.67".into()),
816-
headers: Some(HeaderMap::from_iter([(
817-
"Header".parse().unwrap(),
818-
"X".parse().unwrap(),
819-
)])),
810+
headers: HeaderMap::from_iter([("Header".parse().unwrap(), "X".parse().unwrap())]),
820811
})
821812
.await
822813
.unwrap();

async-nats/src/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ pub(crate) enum Command {
264264
subject: String,
265265
payload: Bytes,
266266
respond: Option<String>,
267-
headers: Option<HeaderMap>,
267+
headers: HeaderMap,
268268
},
269269
Subscribe {
270270
sid: u64,
@@ -289,7 +289,7 @@ pub(crate) enum ClientOp {
289289
subject: String,
290290
payload: Bytes,
291291
respond: Option<String>,
292-
headers: Option<HeaderMap>,
292+
headers: HeaderMap,
293293
},
294294
Subscribe {
295295
sid: u64,

0 commit comments

Comments
 (0)