code: func (s *AuthService) ProcessPubSubPush(c context.Context, body []byte) (*Notification, error) {
  	msg := pubSubMessage{}
  	if err := json.Unmarshal(body, &msg); err != nil {
  		logging.Errorf(c, "auth: bad PubSub notification, not JSON - %s", err)
  		return nil, nil
  	}
  
  	// It's fine to return error here. Certificate fetch can fail due to bad
  	// connectivity and we need a retry.
  	certs, err := signing.FetchCertificatesFromLUCIService(c, s.URL)
  	if err != nil {
  		return nil, err
  	}
  
  	notify, err := s.decodeMessage(&msg, certs)
  	if err != nil {
  		logging.Errorf(c, "auth: bad PubSub notification - %s", err)
  		return nil, nil
  	}
  
  	return &Notification{
  		Revision: notify.GetRevision().GetAuthDbRev(),
  		service:  s,
  	}, nil
  }
docs: // ProcessPubSubPush handles incoming PubSub push notification. `body` is
  // the entire body of the push HTTP request. Invalid messages are silently
  // skipped by returning nil error (to avoid redelivery). The error is still
  // logged though.