code: def seen_nonce(id, nonce, timestamp):
      
      key = '{id}:{n}:{ts}'.format(id=id, n=nonce, ts=timestamp)
      if cache.get(key):
          log.warning('replay attack? already processed nonce {k}'
                      .format(k=key))
          return True
      else:
          log.debug('caching nonce {k}'.format(k=key))
          cache.set(key, True,
                    # We only need the nonce until the message itself expires.
                    # This also adds a little bit of padding.
                    timeout=getattr(settings, 'HAWK_MESSAGE_EXPIRATION',
                                    default_message_expiration) + 5)
          return False
docs: Returns True if the Hawk nonce has been seen already.