nebraska: Log request and responses in more places

Log both request and response (wasn't being done) for both use cases of
running nebraska as a server and using it as a library.

BUG=chromium:920404
TEST=sudo ./nebraska.py --port=10000
Then:
  curl -X POST -d@request.xml http://localhost:10000/
included the request and response in the log.

Change-Id: I7448d41aa8d35a94f61ef45b6aef5f16375ce7c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/1709910
Tested-by: Amin Hassani <ahassani@chromium.org>
Auto-Submit: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Nicolas Norvez <norvez@chromium.org>
Commit-Queue: Amin Hassani <ahassani@chromium.org>
diff --git a/nebraska/nebraska.py b/nebraska/nebraska.py
index 430313c..263a8e1 100755
--- a/nebraska/nebraska.py
+++ b/nebraska/nebraska.py
@@ -86,6 +86,7 @@
       request_str: XML-formatted request string.
     """
     self.request_str = request_str
+    logging.debug('Received request: %s', self.request_str)
 
     self.version = None
     self.hardware_class = None
@@ -696,8 +697,10 @@
     properties.no_update = no_update
     response = Response(request, properties).GetXMLString()
     # Make the XML response look pretty.
-    return minidom.parseString(response).toprettyxml(indent='  ',
-                                                     encoding='UTF-8')
+    response_str = minidom.parseString(response).toprettyxml(indent='  ',
+                                                             encoding='UTF-8')
+    logging.debug('Sent response: %s', response_str)
+    return response_str
 
 
 class NebraskaServer(object):
@@ -734,7 +737,6 @@
       """
       request_len = int(self.headers.getheader('content-length'))
       request = self.rfile.read(request_len)
-      logging.debug('Received request: %s', request)
 
       parsed_query = urlparse.parse_qs(urlparse.urlparse(self.path).query)
       critical_update = parsed_query.get('critical_update', []) == ['true']