Skip to content

Commit 17dfb59

Browse files
Useless Option<HeaderMap>
1 parent 98fd93a commit 17dfb59

File tree

3 files changed

+31
-56
lines changed

3 files changed

+31
-56
lines changed

async-nats/src/client.rs

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

164157
/// Publish a [Message] with headers to a given subject.
@@ -191,7 +184,7 @@ impl Client {
191184
subject,
192185
payload,
193186
respond: None,
194-
headers: Some(headers),
187+
headers,
195188
})
196189
.await?;
197190
Ok(())
@@ -223,15 +216,8 @@ impl Client {
223216
reply: String,
224217
payload: Bytes,
225218
) -> Result<(), PublishError> {
226-
self.sender
227-
.send(Command::Publish {
228-
subject,
229-
payload,
230-
respond: Some(reply),
231-
headers: None,
232-
})
233-
.await?;
234-
Ok(())
219+
self.publish_with_reply_and_headers(subject, reply, HeaderMap::new(), payload)
220+
.await
235221
}
236222

237223
/// Publish a [Message] to a given subject with headers and specified response subject
@@ -269,7 +255,7 @@ impl Client {
269255
subject,
270256
payload,
271257
respond: Some(reply),
272-
headers: Some(headers),
258+
headers,
273259
})
274260
.await?;
275261
Ok(())
@@ -338,14 +324,9 @@ impl Client {
338324
if let Some(inbox) = request.inbox {
339325
let timeout = request.timeout.unwrap_or(self.request_timeout);
340326
let mut sub = self.subscribe(inbox.clone()).await?;
341-
let payload: Bytes = request.payload.unwrap_or_else(Bytes::new);
342-
match request.headers {
343-
Some(headers) => {
344-
self.publish_with_reply_and_headers(subject, inbox, headers, payload)
345-
.await?
346-
}
347-
None => self.publish_with_reply(subject, inbox, payload).await?,
348-
}
327+
self.publish_with_reply_and_headers(subject, inbox, request.headers, request.payload)
328+
.await?;
329+
349330
let request = match timeout {
350331
Some(timeout) => {
351332
tokio::time::timeout(timeout, sub.next())
@@ -372,9 +353,9 @@ impl Client {
372353
} else {
373354
let (sender, receiver) = oneshot::channel();
374355

375-
let payload = request.payload.unwrap_or_else(Bytes::new);
376356
let respond = self.new_inbox();
377357
let headers = request.headers;
358+
let payload = request.payload;
378359

379360
self.sender
380361
.send(Command::Request {
@@ -542,8 +523,8 @@ impl Client {
542523
/// Used for building customized requests.
543524
#[derive(Default)]
544525
pub struct Request {
545-
payload: Option<Bytes>,
546-
headers: Option<HeaderMap>,
526+
payload: Bytes,
527+
headers: HeaderMap,
547528
timeout: Option<Option<Duration>>,
548529
inbox: Option<String>,
549530
}
@@ -566,7 +547,7 @@ impl Request {
566547
/// # }
567548
/// ```
568549
pub fn payload(mut self, payload: Bytes) -> Request {
569-
self.payload = Some(payload);
550+
self.payload = payload;
570551
self
571552
}
572553

@@ -591,7 +572,7 @@ impl Request {
591572
/// # }
592573
/// ```
593574
pub fn headers(mut self, headers: HeaderMap) -> Request {
594-
self.headers = Some(headers);
575+
self.headers = headers;
595576
self
596577
}
597578

async-nats/src/connection.rs

+14-20
Original file line numberDiff line numberDiff line change
@@ -431,30 +431,24 @@ impl Connection {
431431
respond,
432432
headers,
433433
} => {
434-
let verb = match headers.as_ref() {
435-
Some(headers) if !headers.is_empty() => "HPUB",
436-
_ => "PUB",
437-
};
434+
let verb = if !headers.is_empty() { "HPUB" } else { "PUB" };
438435

439436
small_write!("{verb} {subject} ");
440437

441438
if let Some(respond) = respond {
442439
small_write!("{respond} ");
443440
}
444441

445-
match headers {
446-
Some(headers) if !headers.is_empty() => {
447-
let headers = headers.to_bytes();
442+
if !headers.is_empty() {
443+
let headers = headers.to_bytes();
448444

449-
let headers_len = headers.len();
450-
let total_len = headers_len + payload.len();
451-
small_write!("{headers_len} {total_len}\r\n");
452-
self.write(headers);
453-
}
454-
_ => {
455-
let payload_len = payload.len();
456-
small_write!("{payload_len}\r\n");
457-
}
445+
let headers_len = headers.len();
446+
let total_len = headers_len + payload.len();
447+
small_write!("{headers_len} {total_len}\r\n");
448+
self.write(headers);
449+
} else {
450+
let payload_len = payload.len();
451+
small_write!("{payload_len}\r\n");
458452
}
459453

460454
self.write(Bytes::clone(payload));
@@ -958,7 +952,7 @@ mod write_op {
958952
subject: "FOO.BAR".into(),
959953
payload: "Hello World".into(),
960954
respond: None,
961-
headers: None,
955+
headers: HeaderMap::new(),
962956
}]
963957
.iter(),
964958
)
@@ -977,7 +971,7 @@ mod write_op {
977971
subject: "FOO.BAR".into(),
978972
payload: "Hello World".into(),
979973
respond: Some("INBOX.67".into()),
980-
headers: None,
974+
headers: HeaderMap::new(),
981975
}]
982976
.iter(),
983977
)
@@ -995,10 +989,10 @@ mod write_op {
995989
subject: "FOO.BAR".into(),
996990
payload: "Hello World".into(),
997991
respond: Some("INBOX.67".into()),
998-
headers: Some(HeaderMap::from_iter([(
992+
headers: HeaderMap::from_iter([(
999993
"Header".parse().unwrap(),
1000994
"X".parse().unwrap(),
1001-
)])),
995+
)]),
1002996
}]
1003997
.iter(),
1004998
)

async-nats/src/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -268,13 +268,13 @@ pub(crate) enum Command {
268268
subject: String,
269269
payload: Bytes,
270270
respond: Option<String>,
271-
headers: Option<HeaderMap>,
271+
headers: HeaderMap,
272272
},
273273
Request {
274274
subject: String,
275275
payload: Bytes,
276276
respond: String,
277-
headers: Option<HeaderMap>,
277+
headers: HeaderMap,
278278
sender: oneshot::Sender<Message>,
279279
},
280280
Subscribe {
@@ -299,7 +299,7 @@ pub(crate) enum ClientOp {
299299
subject: String,
300300
payload: Bytes,
301301
respond: Option<String>,
302-
headers: Option<HeaderMap>,
302+
headers: HeaderMap,
303303
},
304304
Subscribe {
305305
sid: u64,

0 commit comments

Comments
 (0)