Revision 713faea6

b/daemons/ganeti-rapi
61 61

  
62 62
    try:
63 63
      result = fn()
64
      sn = handler.getSerialNumber()
65
      if sn:
66
        req.response_headers[http.HTTP_ETAG] = str(sn)
64 67
    except:
65 68
      logging.exception("Error while handling the %s request", method)
66 69
      raise
b/lib/http.py
65 65

  
66 66
HTTP_GET = "GET"
67 67
HTTP_HEAD = "HEAD"
68
HTTP_ETAG = "ETag"
68 69

  
69 70

  
70 71
class SocketClosed(socket.error):
......
372 373
    self.response_body = None
373 374
    self.response_code = HTTP_OK
374 375
    self.response_content_type = None
376
    self.response_headers = {}
375 377

  
376 378
    self.should_fork = False
377 379

  
......
484 486
      self._SendHeader("Date", self._DateTimeHeader())
485 487
      self._SendHeader("Content-Type", self.response_content_type)
486 488
      self._SendHeader("Content-Length", str(len(self.response_body)))
489
      for key, val in self.response_headers.iteritems():
490
        self._SendHeader(key, val)
491

  
487 492
      # We don't support keep-alive at this time
488 493
      self._SendHeader("Connection", "close")
489 494
      self.wfile.write("\r\n")
b/lib/rapi/baserlib.py
137 137
    self.items = items
138 138
    self.queryargs = queryargs
139 139
    self.post_data = post_data
140
    self.sn = None
141

  
142
  def getSerialNumber(self):
143
    """Get Serial Number.
144

  
145
    """
146
    return self.sn

Also available in: Unified diff