pull the json serializer into it's own module

This commit is contained in:
Erick Tryzelaar
2014-11-14 19:57:53 -08:00
parent 34ee45b794
commit 4ce5ae8025
4 changed files with 684 additions and 680 deletions
+36 -35
View File
@@ -13,6 +13,7 @@ use std::io::{MemWriter, AsRefWriter};
use test::Bencher;
use serde::de;
use serde::json::ser::escape_str;
use serde::json;
use serde::ser::Serialize;
use serde::ser;
@@ -729,106 +730,106 @@ fn manual_no_escape<W: Writer>(mut wr: W, log: &Log) {
fn manual_escape<W: Writer>(mut wr: W, log: &Log) {
wr.write_str("{").unwrap();
json::escape_str(&mut wr, "timestamp").unwrap();
escape_str(&mut wr, "timestamp").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.timestamp)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "zone_id").unwrap();
escape_str(&mut wr, "zone_id").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.zone_id)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "zone_plan").unwrap();
escape_str(&mut wr, "zone_plan").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.zone_plan as int)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "http").unwrap();
escape_str(&mut wr, "http").unwrap();
wr.write_str(":{").unwrap();
json::escape_str(&mut wr, "protocol").unwrap();
escape_str(&mut wr, "protocol").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.http.protocol as uint)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "status").unwrap();
escape_str(&mut wr, "status").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.http.status)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "host_status").unwrap();
escape_str(&mut wr, "host_status").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.http.host_status)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "up_status").unwrap();
escape_str(&mut wr, "up_status").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.http.up_status)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "method").unwrap();
escape_str(&mut wr, "method").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.http.method as uint)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "content_type").unwrap();
escape_str(&mut wr, "content_type").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.http.content_type.as_slice()).unwrap();
escape_str(&mut wr, log.http.content_type.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "user_agent").unwrap();
escape_str(&mut wr, "user_agent").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.http.user_agent.as_slice()).unwrap();
escape_str(&mut wr, log.http.user_agent.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "referer").unwrap();
escape_str(&mut wr, "referer").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.http.referer.as_slice()).unwrap();
escape_str(&mut wr, log.http.referer.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "request_uri").unwrap();
escape_str(&mut wr, "request_uri").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.http.request_uri.as_slice()).unwrap();
escape_str(&mut wr, log.http.request_uri.as_slice()).unwrap();
wr.write_str("},").unwrap();
json::escape_str(&mut wr, "origin").unwrap();
escape_str(&mut wr, "origin").unwrap();
wr.write_str(":{").unwrap();
json::escape_str(&mut wr, "ip").unwrap();
escape_str(&mut wr, "ip").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.origin.ip.as_slice()).unwrap();
escape_str(&mut wr, log.origin.ip.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "port").unwrap();
escape_str(&mut wr, "port").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.origin.port)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "hostname").unwrap();
escape_str(&mut wr, "hostname").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.origin.hostname.as_slice()).unwrap();
escape_str(&mut wr, log.origin.hostname.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "protocol").unwrap();
escape_str(&mut wr, "protocol").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.origin.protocol as uint)).unwrap();
wr.write_str("},").unwrap();
json::escape_str(&mut wr, "country").unwrap();
escape_str(&mut wr, "country").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.country as uint)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "cache_status").unwrap();
escape_str(&mut wr, "cache_status").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.cache_status as uint)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "server_ip").unwrap();
escape_str(&mut wr, "server_ip").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.server_ip.as_slice()).unwrap();
escape_str(&mut wr, log.server_ip.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "server_name").unwrap();
escape_str(&mut wr, "server_name").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.server_name.as_slice()).unwrap();
escape_str(&mut wr, log.server_name.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "remote_ip").unwrap();
escape_str(&mut wr, "remote_ip").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.remote_ip.as_slice()).unwrap();
escape_str(&mut wr, log.remote_ip.as_slice()).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "bytes_dlv").unwrap();
escape_str(&mut wr, "bytes_dlv").unwrap();
wr.write_str(":").unwrap();
(write!(wr, "{}", log.bytes_dlv)).unwrap();
wr.write_str(",").unwrap();
json::escape_str(&mut wr, "ray_id").unwrap();
escape_str(&mut wr, "ray_id").unwrap();
wr.write_str(":").unwrap();
json::escape_str(&mut wr, log.ray_id.as_slice()).unwrap();
escape_str(&mut wr, log.ray_id.as_slice()).unwrap();
wr.write_str("}").unwrap();
}