code: def receive_request(self, transaction):
          
          if transaction.request.observe == 0:
              # Observe request
              host, port = transaction.request.source
              key_token = hash(str(host) + str(port) + str(transaction.request.token))
              non_counter = 0
              if key_token in self._relations:
                  # Renew registration
                  allowed = True
              else:
                  allowed = False
              self._relations[key_token] = ObserveItem(time.time(), non_counter, allowed, transaction)
          elif transaction.request.observe == 1:
              host, port = transaction.request.source
              key_token = hash(str(host) + str(port) + str(transaction.request.token))
              logger.info("Remove Subscriber")
              try:
                  del self._relations[key_token]
              except KeyError:
                  pass
  
          return transaction
docs: Manage the observe option in the request end eventually initialize the client for adding to
          the list of observers or remove from the list.
  
          :type transaction: Transaction
          :param transaction: the transaction that owns the request
          :rtype : Transaction
          :return: the modified transaction