summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorErik Larkö <erik@mullvad.net>2017-03-22 18:59:50 +0800
committerErik Larkö <erik@mullvad.net>2017-03-22 22:16:59 +0800
commitffae9a537934de447a9e7e4fe5d7b70cca0ff275 (patch)
tree51fed5f0cb11efe9278da49f9240510f7b98e83c
parentd32e3609e21498842f5da2aae5ae14373f0337d5 (diff)
downloadmullvadvpn-ffae9a537934de447a9e7e4fe5d7b70cca0ff275.tar.xz
mullvadvpn-ffae9a537934de447a9e7e4fe5d7b70cca0ff275.zip
Log received messages and cleaner reply error handling
-rw-r--r--talpid_ipc/src/http_ipc.rs13
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<()> {