diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-06 17:37:35 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-06 17:37:35 +0200 |
commit | 7aa211a8d7ae2efeebd9362699a1aea4b5690e3d (patch) | |
tree | e0af8720ee3b770688600a8ea025de2ce81e5017 /src/transaction | |
parent | 7177367ae41a5e2d6ed401f60ee1455812dd8ffb (diff) | |
download | sip-rs-7aa211a8d7ae2efeebd9362699a1aea4b5690e3d.tar sip-rs-7aa211a8d7ae2efeebd9362699a1aea4b5690e3d.tar.bz2 sip-rs-7aa211a8d7ae2efeebd9362699a1aea4b5690e3d.tar.zst |
start on sdp impl
Diffstat (limited to 'src/transaction')
-rw-r--r-- | src/transaction/auth.rs | 2 | ||||
-rw-r--r-- | src/transaction/mod.rs | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/transaction/auth.rs b/src/transaction/auth.rs index f64bb4b..1b3a100 100644 --- a/src/transaction/auth.rs +++ b/src/transaction/auth.rs @@ -14,7 +14,7 @@ impl Authorization { username: &str, password: &str, ) -> Result<Authorization> { - let challenge = failed_response.headers.get::<WWWAuthenticate>().unwrap()?; + let challenge = failed_response.headers.get_res::<WWWAuthenticate>()?; Ok(Authorization { response: response_digest( diff --git a/src/transaction/mod.rs b/src/transaction/mod.rs index 601b134..3368c47 100644 --- a/src/transaction/mod.rs +++ b/src/transaction/mod.rs @@ -2,7 +2,7 @@ pub mod auth; use crate::{ encoding::{ - headers::{CSeq, CallID}, + headers::{CSeq, CallID, ContentLength}, request::Request, response::Response, Message, @@ -66,6 +66,7 @@ impl<T: Transport> TransactionUser<T> { .get::<CallID>() .ok_or(anyhow!("call-id is mandatory"))??, ); + resp.headers.insert(ContentLength(resp.body.len())); self.transport.send(Message::Response(resp)).await?; Ok(()) } @@ -74,6 +75,7 @@ impl<T: Transport> TransactionUser<T> { let seq = self.sequence.fetch_add(1, Ordering::Relaxed); let cseq = CSeq(seq, request.method); request.headers.insert(cseq); + request.headers.insert(ContentLength(request.body.len())); let (tx, rx) = channel(4); |