diff --git a/phosphor-rest b/phosphor-rest
index b0aee59..798cd4a 100644
--- a/phosphor-rest
+++ b/phosphor-rest
@@ -27,7 +27,7 @@
 	def __init__(self, msg, http_status=403):
 		self.status = http_status
 		super(RestException, self).__init__(msg)
-        
+
 class Response(object):
 	def render(self, handler):
 		raise NotImplemented()
@@ -55,7 +55,7 @@
 
 class RequestHandler(object):
 	def __init__(self, req, path, data):
-		self.req = req 
+		self.req = req
 		self.path = path
 		self.bus = req.server.bus
 		self.mapper = req.server.mapper
@@ -166,7 +166,7 @@
 				obj, dbus_interface=dbus.PROPERTIES_IFACE)
 
 		for iface in interfaces:
-			if self.try_set_one_interface(prop, value, 
+			if self.try_set_one_interface(prop, value,
 					properties_iface, iface):
 				return True
 
@@ -246,7 +246,7 @@
 		if not objs:
 			raise RestException("Not Found", 404)
 
-		return objs.keys() 
+		return objs.keys()
 
 class EnumerateHandler(RequestHandler):
 	def __init__(self, req, path, data):
@@ -289,7 +289,7 @@
 		mapper_entry = self.server.mapper.GetTree(
 				path.fq(), 0, 'exact')
 		if mapper_entry:
-			return InstanceHandler(self, path.fq(), data, 
+			return InstanceHandler(self, path.fq(), data,
 					mapper_entry[path.fq()])
 
 		raise RestException("Not Found", 404)
