diff options
| author | Erik Larkö <erik@mullvad.net> | 2017-03-22 18:59:50 +0800 |
|---|---|---|
| committer | Erik Larkö <erik@mullvad.net> | 2017-03-22 22:16:59 +0800 |
| commit | ffae9a537934de447a9e7e4fe5d7b70cca0ff275 (patch) | |
| tree | 51fed5f0cb11efe9278da49f9240510f7b98e83c | |
| parent | d32e3609e21498842f5da2aae5ae14373f0337d5 (diff) | |
| download | mullvadvpn-ffae9a537934de447a9e7e4fe5d7b70cca0ff275.tar.xz mullvadvpn-ffae9a537934de447a9e7e4fe5d7b70cca0ff275.zip | |
Log received messages and cleaner reply error handling
| -rw-r--r-- | talpid_ipc/src/http_ipc.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/talpid_ipc/src/http_ipc.rs b/talpid_ipc/src/http_ipc.rs index f63c15e159..c7ad44586b 100644 --- a/talpid_ipc/src/http_ipc.rs +++ b/talpid_ipc/src/http_ipc.rs @@ -37,15 +37,20 @@ fn start_receive_loop<T, U, F>(server: tiny_http::Server, mut on_message: F) let response = on_message(read_res); let reply_res = send_response(&response, request); - if reply_res.is_err() { - error!("Failed sending reply to request, {}", - reply_res.unwrap_err()); + if let Err(e) = reply_res { + error!("Failed sending reply to request, {}", e); } }); } fn parse_request<T: serde::Deserialize>(request: &mut tiny_http::Request) -> Result<T> { - serde_json::from_reader(request.as_reader()).chain_err(|| ErrorKind::ParseFailure) + let reader = request.as_reader(); + let mut buffer = String::new(); + reader.read_to_string(&mut buffer).chain_err(|| ErrorKind::ParseFailure)?; + + debug!("Got IPC request: {}", buffer); + + serde_json::from_str(&buffer).chain_err(|| ErrorKind::ParseFailure) } fn send_response<U: serde::Serialize>(response: &U, request: tiny_http::Request) -> Result<()> { |
